我正在尝试从microsoft获取身份验证令牌。 首先,我发送一个get请求并获取响应代码,我将其写入名为auth_code的var。 然后我使用返回的auth_code和其他一些像这样的变量:
$.ajax({
type: "POST",
url: url + tenant + '/oauth2/v2.0/token',
data: {
client_id: client_id,
client_secret: client_secret,
redirect_uri: redirect_uri,
scope: scope,
code: auth_code,
grant_type: 'authorization_code'
},
success: function(data){
alert("success");
},
error: function(xhr) {
alert(xhr.statusText);
}
});
每次都会触发错误;我正在获得'错误'的statusText。
如果我在错误警报处断点,在网络下的firefox调试器中我看到200为令牌url,并在响应中我看到微软返回的json(包括一个可爱的身份验证令牌),即响应不为null 。但是ajax成功处理程序没有运行,所以我不能使用它。
我读过并试过的东西:
我已经将调试器中的json响应复制并粘贴到json lint中并且验证正常(在任何情况下,我相信如果出现问题,我会收到错误textStatus的'parseerror'。)。
我已经尝试过显式添加'json','text'和'text json'的数据类型,但它没有任何区别。
我只是不明白 - 响应没问题,返回json在调试器中,为什么ajax无法处理它(有效地阻止我使用它)?
这是星期五,所以希望我只是遗漏了一些非常简单明了的东西 - 任何帮助都会得到赞赏。