gpt4 book ai didi

javascript - Jquery Ajax 不发送 Accept header

转载 作者:行者123 更新时间:2023-12-03 07:49:10 27 4
gpt4 key购买 nike

这是我的 ajax 调用:

function fetchAccount(email, callback) {
$.ajax({
url: "http://example.com/",
jsonp: "callback",
dataType: 'jsonp',
type: 'GET',
async: false,
headers: {"Accept" : "application/javascript; charset=utf-8"},
success: function(data) {
appState.user = data;
appState.viewState = AppStates.CONTENT_VIEW;
AppStore.persistToLocalStorage();
callback();
},
error: function(xhr, status, err) {
appState.user = "";
appState.viewState = AppStates.LOGIN_FAIL_VIEW;
AppStore.persistToLocalStorage();
callback();
}
});
};

我的服务器没有返回 JSONP,因为接受 header 实际上没有正确设置。当我使用“修改 header ”google chrome 扩展手动注入(inject)“接受”“application/javascript; charset=utf-8”时,服务器以 JSONP 响应就好。

我捕获了请求 header ,正如预期的那样,“Accept”未正确设置:

GET /api/accounts/myemail@gmail.com?callback=jQuery22009572079558856785_1454040030107&_=1454040030108 HTTP/1.1
Host: www.example.com
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,et;q=0.6

这里发生了什么 - 我怎样才能让它正确设置接受 header ?看起来很简单...

最佳答案

问题是我期待错误的事情。根据这个jquery错误报告(https://bugs.jquery.com/ticket/7694),当您执行JSONP时,您实际上并没有触发XHR,因此您无法控制 header 。

关于javascript - Jquery Ajax 不发送 Accept header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35076623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com