IE 8+ XDomainRequest'POST'不能与WebAPI一起使用

时间:2014-02-26 11:04:02

标签: jquery asp.net-mvc-4 asp.net-web-api xdomainrequest

我搜索谷歌但没有成功实现解决方案

我的代码是

var xdr = new XDomainRequest();
if (xdr) {
    $.support.cors = true;
    xdr.open(method, svcUrl, true);
    xdr.onload = function () {
        var result = $.parseJSON(xdr.responseText);
        if (result === null || typeof (result) === 'undefined') {
            result = $.parseJSON(
                data.textContent);
        } 
        if ($.isFunction(successCallBackFunction)) {
            successCallBackFunction(result);
        }
    };
    xdr.onerror = function () {
        if ($.isFunction(errorCallBackFunction)) {
            errorCallBackFunction();
        }
    };
    xdr.onprogress = function () {};
    xdr.send(JSON.stringify(params));
}
return xdr;

我的问题是请求正在访问我的webapi,但数据为空

2 个答案:

答案 0 :(得分:0)

xdr.send($.parseJSON(params))似乎错了 - 你不应该将js对象传递给send方法 - 你应该传递json字符串或namevalue集合(比如发布表单时),指定正确的Content-type Header (application/json or application/x-www-form-urlencoded)

答案 1 :(得分:0)

我已经google了多年并且遇到了这个问题,最后我在同一个域上创建了AJAX个请求(Action in my application)。此操作调用Web API表示we can call server to server并将响应从web api发送到ajax