日期:2014-05-16  浏览次数:20596 次

jquery ajax 调用 .net web api 出错
项目用jquery ajax 调用 .net web api。
    $.support.cors = true;
            $.ajax({
                type: "GET",
                url: "http://www.xxx.com/api/Subject/GetSubject",
                dataType: "json",
                data: {id:"123"},
                //async: false,
                processData: true,
                //crossDomain: true,
                success: function (html) {
                   alert("成功!");
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("出错!");

                }
            });
症状如下:
web api在本地的时调用正常(web api 和 web 在localhost 的不同端口(也算是跨域))。
web api发布以后,再调用时,ie10正常获取数据,ie9、ie8都报错。
经过跟踪jquery库,可能出问题的有两处:

function createStandardXHR() {

try {

return new window.XMLHttpRequest();

} catch( e ) {}

}


function createActiveXHR() {

try {

return new window.ActiveXObject("Microsoft.XMLHTTP");

} catch( e ) {}

}




new window.XMLHttpRequest(); 返回 完成该操作所需的数据还不可使用。

另外一处是
send: function( headers, complete ) {}方法体中
xhr.open( s.type, s.url, s.async ); 这句抛出异常,
message:"拒绝访问。\r\n"
number:-2147024891

请大侠们指点迷津。








jquery?ajax web?api .net xmlhttprequest json