gpt4 book ai didi

jquery - ASP MVC 3 - Jquery Ajax 总是发送选项而不是 Post

转载 作者:可可西里 更新时间:2023-11-01 16:52:48 24 4
gpt4 key购买 nike

我有一个简单的 javascript ajax 请求:

$("#login-submit").button().click(function() {
var ajaxOptions = {
url: "http://localhost:29097/authentication/",
type: "POST",
data: $("login-form").serialize(),
success: function(result) { $("body").html(result); }
};
$.ajax(ajaxOptions);
});

但是,每当我发出请求时,它总是发送一个 OPTIONS 请求,而不是指定的 POST 请求。在深入阅读之后,它似乎可能归结为跨站点发布。我在我的 MVC 应用程序中添加了一个自定义操作过滤器,它检查 OPTION 请求并使用指定“GET、POST、PUT、DELETE”的“允许” header 进行响应,尽管它似乎从未执行后续 POST 请求……我是吗这里缺少什么?

请求(在 Firefox、Chrome 中试过):

OPTIONS http://localhost:29097/authentication/ HTTP/1.1
Host: localhost:29097
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: null
Access-Control-Request-Method: POST
Access-Control-Request-Headers: x-requested-with

响应:

HTTP/1.1 401 Unauthorized
Server: ASP.NET Development Server/10.0.0.0
Date: Sun, 19 Jun 2011 16:20:41 GMT
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 3.0
Allow: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Max-Age: 1000
Access-Control-Allow-Headers: *
Access-Control-Allow-Origin: *
Cache-Control: private
Content-Length: 0
Connection: Close

我自己通过 MVC 发回 401 请求,因为它似乎是用于指示用户凭据无效的最佳 header 。此状态代码是否会导致任何问题?

最佳答案

您使用的浏览器实现了 Cross Origin Resource Sharing .为了支持这一点,您的服务器需要使用 Access-Control-Allow-Origin header 响应 OPTIONS 请求。

关于jquery - ASP MVC 3 - Jquery Ajax 总是发送选项而不是 Post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com