我正在使用 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 选项与问题有关,但我不确定。
任何建议或意见将不胜感激!
谢谢。