如何使用js或jQuery向ajax请求添加自定义HTTP标头

有谁知道如何使用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代码是什么? 这是我正在使用的邮差女巫的截图。

在此处输入图像描述

这在jQuery代码中没有问题,因为你提出了一个跨源请求。 尝试以这种方式使用https://www.youtube.com/watch?v=EPSjxg4Rzs8

当您发出跨源请求时,服务器必须提供访问控制头(CORS)以授予您读取响应的JavaScript权限。

典型的请求被认为是简单的 ,但如果您向其添加某些特征,那么它就会停止变得简单并成为预检请求 。

其中一个特性是“它在请求中设置自定义标头”,因此通过添加自定义标头,您已使其变得复杂。

在浏览器发出POST请求之前,它将发送预检请求,这是一个OPTIONS请求。

它必须从服务器接收响应,允许它在发出POST请求之前发出POST请求。

当浏览器向服务器发出OPTIONS请求时,它当前返回错误,指出“您不允许向此URL发出OPTIONS请求!”。

您需要更改服务器以便它:

  • 接受OPTIONS请求
  • 响应授予发出POST请求权限的标头