我正在使用beforeSend标头选项(添加授权令牌)发送Ajax调用,运行正常,但我可以在控制台中看到2个请求...
$.ajax('https://macMini.local:8000/Products', {
type: "GET",
cache: false,
async: false,
dataType: "json",
beforeSend: function (xhr, settings){
xhr.setRequestHeader('Authorization', 'Bearer ' + amplify.store( "tokens" ).access_token);
}
})...
在开发浏览器控制台中,我看到:
Request URL:https://macmini.local:8000/Products?_=1381768498131
Request Method:OPTIONS
Status Code:204 No Content
...
没有回应 和
Request URL:https://macmini.local:8000/Products?_=1381768498131
Request Method:GET
Status Code:200 OK
...
使用JSON响应
答案 0 :(得分:5)
ajax请求是否来自其他域或端口?在这种情况下,它是Cross-site HTTP request,浏览器将首先发送OPTIONS
请求以检查GET请求是否可以安全发送。
通常,GET
请求不会先发送OPTIONS
,但在这种情况下,可能会因为您设置额外的标头而发出“preflight”请求。