我正在尝试对API进行简单的jquery ajax调用:
My Code:
$.ajax({
origin: "*",
url: 'http://example/test',
type: 'get',
contentType: 'application/json; charset=utf-8',
dataType: 'jsonp',
crossDomain: true,
beforeSend: function (xhr) {
xhr.setRequestHeader("API_KEY", 'xxx');
xhr.setRequestHeader("Authorization", 'xxx');
},
success: function (data) {
});
},
error: function () {
}
});
Api正确使用授权并返回正确的数据,但在我从JQuery ajax调用它时会出现错误403 Forbidden .
Response Header:
HTTP / 1.1 403 Forbidden Cache-Control:no-cache Pragma:no-cache Content-Type:text / javascript; charset = utf-8过期:-1服务器:Microsoft-IIS / 8.5 X-AspNet-版本:4.0.30319 X-Powered-By:ASP.NET日期:2017年3月19日星期三13:00:19 GMT内容长度:127
Request Headers:
接受:/ Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en; q = 0.8 Cache-Control:no-cache连接:keep-alive主机:sp16-app:2525 Pragma:no-cache引用站点:HTTP:// XXX /测试
1 回答
请注意,您无法发送
jsonp
请求的标头,这是一个脚本请求 . 你确定你想要jsonp
而不是json
吗?GET
没有请求contentType
,因为没有发送正文内容 .此外,你有一个拼写错误,但是,我想,这只是StackOverflow答案的一个错字:
改成
另请参阅this answer .