我正在尝试使用带有AJAX的PUT方法发送HTTP跨域请求。
为此,我正在使用它:
$.ajax({
url: ipv6Nodo+"/config?param=led",
crossDomain: true,
type: 'PUT',
data: "ls=ON",
success: function(data) {
// Do something with the result
console.log(data);
}
});
我在中间嗅探,我发现我确实在发送OPTIONS方法的请求。这不是问题,因为在服务器上我可以类似地接受PUT或OPTIONS。问题是有效负载请求是空的,没有ls=ON
,我想要它。如果我将此请求发送到同一个域,我可以看到有效负载。有什么问题?
提前致谢
答案 0 :(得分:0)
与Cross Origin Resource Sharing一起使用的OPTIONS
请求没有有效负载。这是一个“预检”请求,以确定服务器是否允许来自您的来源的CORS。使用正确的CORS标头回复OPTIONS
请求后,您将收到包含数据的PUT
请求。
请参阅链接了解详情,但基本上是:
OPTIONS
。PUT
进行回复。这对您的客户端ajax
代码(但不是您的服务器代码)是透明的。