在执行跨域ajax调用时,请求的资源不支持http方法'GET'

时间:2013-08-16 00:26:46

标签: asp.net jquery asp.net-web-api cross-domain

我正在使用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);
    }
}

我已在远程服务器上设置标头:

  

Access-Control-Allow-Origin:*

     

Access-Control-Allow-Methods:POST,GET,OPTIONS

当我执行代码时,我得到405方法不允许 - 请求的资源不支持http方法'GET'。

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

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

看来contentType选项与问题有关,但我不确定。

非常感谢任何建议或建议!

感谢。

0 个答案:

没有答案