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