javascript - 为什么我的 Ajax 请求包含数据类型:“jsonp”错误?
问题描述
我有以下 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 请求不支持自定义 headers 的设置,所以你的 Authorization 会丢失。
推荐阅读
- android - 如何在 Flutter 中设置一个 Button 或 Text Widget 在屏幕底部
- pandas - Python - 对列进行升序排序 - 使用 groupby
- javascript - 功能代码未按正确顺序执行,异步等待执行错误
- firebase - Flutter Firebase 身份验证:恢复为特定匿名用户
- c# - 如何在asp.net mvc中传递数组值?
- c - 系统调用可以发生在 C 程序中吗?
- go - 如何正确测试错误对象?
- cython - 如何在cython中提供cpp类析构函数成员信息
- python - 用python重构JSON数据
- jquery - jQuery在点击时获取每个复选框的值