Ajax Web Api在IE8中发布跨域请求

时间:2013-08-30 01:26:29

标签: javascript jquery ajax internet-explorer-8 asp.net-web-api

我正在尝试访问WebAPI(在同一服务器中但使用不同的IP)。它就像IE 10中的魅力一样。但在IE 8中它变得更糟。我已经包含了$ .​​support.cors = true,还包含了我从中获得的jQuery.XDomainRequest.js https://github.com/MoonScript/jQuery-ajaxTransport-DomainRequest/blob/master/jQuery.XDomainRequest.js

对于GET请求它正在工作,但是对于帖子它抛出错误。我了解到,对于POSt内容类型应该是text / plain。 我试图将我的数据作为纯文本发送,可能是服务器没有正确解析它。 我也尝试了jsonp,但没有用 我正在放下我的webapi电话。请建议我如何才能使这个工作。非常感谢。

function Authenticate() {

 var UserInfoRequest = {
        Email: $("#txtEmail").val(), SubDomain: subDomainName
    };


    //UserInfoRequest ="Email="+$("#txtEmail").val()+"&SubDomain="+subDomainName;


    $.ajax({
        url: defaultAPIurl + "Login/UserExistOrDualRole"  ,
        type: "POST",
        dataType: 'json',
    data:   UserInfoRequest ,

        success: function (data) {


            //do something 

        },
        error: function (data) {
            Showerror();
            return;

        }
    });





    return false;
}

1 个答案:

答案 0 :(得分:0)

ASP.NET WEB API支持CROS需要额外的库。查看此帖子:CORS support for ASP.NET Web API

在写完这篇文章时修改了你的项目,它会起作用。

提示:当我使用它时,NightBuild Nuget server的两个库。