有谁知道如何使用 JavaScript 或 jQuery 添加或创建自定义 HTTP 标头?
我正在使用下面的代码,但它给了我405 不允许的方法。
我在用POST方法但在请求方法中但它向我展示OPTION在请求方法中。
状态代码:405 方法不允许,当我使用邮递员时,它正在工作并显示 200 ok 状态代码。有人帮我看看发生了什么问题吗?
我在 HTML 中使用以下代码。
$(document).ready(function () {
$.ajax( {
url: 'http://api.XXXXXXXXXX.com/SharedServices/SharedData.svc/rest/Authenticate',
data: {
"ClientId": "ApiIntegration",
"UserName": "XXXXX",
"Password": "XXXXX@123",
"EndUserIp": "192.168.1.10"
},
method: 'POST',
dataType: 'json',
headers: {
"contentType": "application/json",
"cache-control": "no-cache"},
success: function (response) {
console.log(response);
},
});
})
如果我的代码有问题,什么才是正确的 jQuery 代码。
这是我正在使用的邮差女巫的屏幕截图。
当您发出跨源请求时,服务器必须提供访问控制标头 (CORS) https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS授予您的 JavaScript 读取响应的权限。
考虑一个典型的请求simple,但是如果你给它添加某些特征,那么它就不再是简单的,而是变成了预检请求 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests.
这些特征之一是“它在请求中设置自定义标头”,因此通过添加自定义标头,您会使其变得复杂。
在浏览器发出 POST 请求之前,它会发送预检请求,这是一个 OPTIONS 请求。
它必须先从服务器收到允许其发出 POST 请求的响应,然后才能发出该 POST 请求。
当浏览器向服务器发出 OPTIONS 请求时,它当前返回一个错误,指出“您不允许向此 URL 发出 OPTIONS 请求!”。
您需要更改服务器,以便:
- 接受 OPTIONS 请求
- 使用授予发出 POST 请求权限的标头进行响应
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)