【发布时间】:2021-01-10 04:04:15
【问题描述】:
我有以下 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?
【问题讨论】:
-
Accept: application/json对于 JSONP 不正确。对 JSONP 的响应是 JavaScript,而不是 JSON。 -
谢谢,巴马尔。但是,如果我执行 dataType: "jsonp" 和 "Accept": "application/json; odata.metadata=none",它仍然会给出错误。有什么想法吗?
-
大多数 API 不实现 JSONP。如果服务器不知道如何提供,你就不能要求它。
-
有什么不同?
标签: javascript json ajax jsonp