在没有传递任何数据参数时,我在jQuery中遇到了PUT和POST ajax CORS请求的奇怪问题。没有数据参数的jQuery PUT/POST ajax CORS请求
所以我通过设置标题在我的服务器上启用了CORS。一切工作正常,当我为例子做:
$.ajax({
url: "http://127.0.0.1/R/index.html",
type: "PUT",
data: {foo:"bar"}
});
然而,当我做同样的请求,而不设置data
参数,火狐返回而没有张贴了ajax:
$.ajax({
url: "http://127.0.0.1/R/index.html",
type: "PUT"
});
请注意,这只是发生对于POST和PUT方法,当在请求中指定了完整的url时,并且没有指定http数据参数。当url与页面位于同一个域时也会发生(因此不需要CORS)。如果我只是在url中指定路径,而不是完整的url,则不会发生这种情况。
任何线索我怎么能做一个POST/PUT而不传递任何参数(我的服务器不会接受'假'参数)。
哪些CORS标头是你设置:
它可以通过使用像这样可以避免?设置数据:null发送请求吗?你可以使用Wireshark来获取实际的请求/响应头文件吗? – monsur 2012-03-21 18:06:34
根本没有请求被发送。它立即返回。我怀疑这可能是创建multipart/form-data字符串的函数中的一个错误。 – Jeroen 2012-03-21 18:37:16