问题描述
我有以下Ajax呼叫:
var baseurl = Office.context.mailbox.restUrl;
var getMessageUrl = baseurl + "/v2.0/me/messages/" + rest_id + "?$select=SingleValueExtendedProperties&$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x007D')";
$.ajax({
url: getMessageUrl,dataType: "jsonp",headers: {
"Authorization": "Bearer " + rest_token,"Accept": "application/json; odata.metadata=none"
},error: function (xhr,ajaxOptions,thrownError) {
$('.resultsScore').text(xhr.statusText);
}
}).done(function (item) {
但是,这总是会引发错误(总是输入错误功能)。如果我使用dataType:“ json”,它可以正常工作。我究竟做错了什么?为什么我不能以这种方式使用jsonp?
解决方法
错误几乎可以肯定是因为响应不是JSONP。
可能有几个原因。您正在呼叫的服务可能根本不支持它。此外,JSONP请求不支持自定义标头的设置,因此您的授权将丢失。