我有一个期待POST的WCF服务.使用Fiddler我发现在跨域情况下,我的POST请求被更改为GET,导致服务器出错405.
$.ajax({
type: "POST",
url: "http://blah/blah.svc/Test",
data: JSON.stringify("{ 'WebUserID': 4 }"),
dataType: "jsonp", // from server
contentType: "application/json; charset=utf-8", // to server
success: function (data, status, xhr) {
alert("success--");
}
});
Run Code Online (Sandbox Code Playgroud)
任何人都可以对此有所了解吗?
谢谢
car*_*ira 10
没有POST和JSONP.JSONP的工作原理是在DOM中创建一个新的脚本标记,用于向服务器发送GET请求.你给jQuery.ajax两个不兼容的参数(POST,jsonp),而jQuery正在选择一个而不是另一个.
一个更新:您可以使用类似CORS(跨源资源共享)的功能来启用跨域服务的非GET请求.WCF不支持开箱即用,但我写了一篇关于在WCF中实现它的帖子,网址为http://blogs.msdn.com/b/carlosfigueira/archive/2012/05/15/implementing-cors -support-in-wcf.aspx.
| 归档时间: |
|
| 查看次数: |
4556 次 |
| 最近记录: |