我正在调用一个 API 删除函数,它只接受 DELETE 动词。
我试过了
$.ajax({
url: 'http://myurl',
type: 'DELETE',
success: function(result) {
// Do something with the result
});
但它在响应标头中将请求方法显示为选项。
任何人都可以帮助我如何发送带有 ajax 请求的 DELETE 动词。
我正在调用一个 API 删除函数,它只接受 DELETE 动词。
我试过了
$.ajax({
url: 'http://myurl',
type: 'DELETE',
success: function(result) {
// Do something with the result
});
但它在响应标头中将请求方法显示为选项。
任何人都可以帮助我如何发送带有 ajax 请求的 DELETE 动词。
“......但它在响应标头中将请求方法显示为选项。”
这听起来像是一个跨域请求问题。您是从同一个域还是不同域发出请求?此外,反应是什么?我还猜测没有第二个请求,因为如果浏览器确定您可以从选项响应中发送该请求,那么第二个请求本质上就是您的原始请求。选项请求是浏览器询问它是否可以发出其他请求。选项响应本质上告诉浏览器可以从哪些域发出某些请求(或类似的东西)。
在此处阅读有关跨域资源共享的更多信息
这是您的答案,享受吧:PUT、DELETE、HEAD 等方法在大多数 Web 浏览器中都可用吗?
根据 jQuery 文档:
要发出的请求类型(“POST”或“GET”),默认为“GET”。注意:这里也可以使用其他 HTTP 请求方法,例如 PUT 和 DELETE,但并非所有浏览器都支持。
你使用的是什么浏览器?
我得到了这个问题的最佳解决方案
http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis-with-thinktecture-identitymodel/
在 webconfig 中添加条目
<modules runAllManagedModulesForAllRequests="true">
<add name="CorsHttpModule" type="Thinktecture.IdentityModel.Http.Cors.IIS.CorsHttpModule"/>
</modules>