wcf – 跨域时JQuery ajax JSONP POST更改为GET

前端之家收集整理的这篇文章主要介绍了wcf – 跨域时JQuery ajax JSONP POST更改为GET前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个期待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--");
    }
});

任何人都可以对此有所了解吗?

谢谢

最佳答案
没有POST和JSONP. JSONP的工作原理是在DOM中创建一个新的脚本标记,用于向服务器发送GET请求.你给jQuery.ajax两个不兼容的参数(POST,jsonp),而jQuery正在选择一个而不是另一个.

一个更新:您可以使用类似CORS(跨源资源共享)的功能来启用跨域服务的非GET请求. WCF不支持开箱即用,但我写了一篇关于在http://blogs.msdn.com/b/carlosfigueira/archive/2012/05/15/implementing-cors-support-in-wcf.aspx WCF中实现它的帖子.

原文链接:https://www.f2er.com/jquery/428605.html

猜你在找的jQuery相关文章