0

我正在使用 jQuery ajax 执行跨域 POST 来调用 ASP.net 4.5 WebAPI 站点:

$.support.cors = true;
$.ajax("http://mydomain/WebApi/api/authentication/", { type: "post", data: json, contentType: "application/json" });

这是我的服务器方法:

public class AuthenticationController : ApiController
{

    // Login or logout the user.
    // POST api/authentication with login or logout data object
    public HttpResponseMessage Post(object data)
    {
        return ProcessAction(data);
    }
}

我已经在远程服务器上设置了标题:

访问控制允许来源:*

访问控制允许方法:POST、GET、OPTIONS

当我执行代码时,我得到一个 405 Method Not Allowed - 请求的资源不支持 http 方法“GET”。

如果从同一个域调用,我调用的方法可以正常工作。

此外,如果我删除该contentType: "application/json"选项,我会收到 500 服务器错误。

似乎 contentType 选项与问题有关,但我不确定。

任何建议或意见将不胜感激!

谢谢。

4

0 回答 0