我正在尝试发出 GET 请求,为此我应该发送 header 值,我已经尝试了以下方法。这个 API 调用似乎在我用来测试 API 的 POSTMAN 扩展中运行良好
$.ajax({ url: "requested url", type: 'GET', beforeSend: function (xhr) { xhr.setRequestHeader('setHeader', '12345'); }, success: function (data) { console.log(data); }, error: function () { alert("Failed"); }, });
AJAX 请求似乎工作正常,但当我通过 beforeSend 或 headers 添加 header 时,会发出 OPTIONS 飞行前请求,并且 GET 请求将中止。
我还尝试使用 $.ajaxSetup(); 设置标题
$.ajaxSetup({ beforeSend: function (xhr) { xhr.setRequestHeader('setHeader', '12345'); } }); $.ajax({ type: "GET", url: "requested url" }).success(function (data) { console.log(data); }).error(function () { alert("Failed"); });
请求 header :
Request URL:requested url Request Method:OPTIONS Status Code:404 Not Found Request Headersview source Accept:*/* Accept-Encoding:gzip, deflate, sdch Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:accept, setHeader Access-Control-Request-Method:GET
响应 header :
Access-Control-Allow-Headers:Content-Type, Accept, X-Requested-With,setHeader Access-Control-Allow-Method:GET,POST,PUT,OPTIONS Access-Control-Allow-Origin:* Access-Control-Expose-Headers:*
我在控制台中收到此错误:
XMLHttpRequest 无法加载“请求的 url”。 无效的 HTTP 状态代码 404
最佳答案
也许您的问题与 jsonp 有关。只是在这里猜测。
what-is-jsonp-all-about
can-i-set-headers-in-cross-domain-json-requests
还要检查您的服务器 header 。
关于javascript - setRequestHeader 不起作用,我想设置 header ,然后在 Amazon EC2 中以 ajax 发出 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730915/