AJAX和IE - 无法获得属性错误

时间:2018-05-25 16:03:58

标签: javascript jquery ajax

在IE上使用AJAX(在IE11中测试)时,我在第Unable to get property ‘replace’ of undefined or null reference行上收到以下错误var ajax_html = $(xml).find("#search-ajax-content").html();。此代码在其他浏览器(Chrome,FF和Safari)上运行良好。

在使用AJAX之前有没有人遇到过这个问题?我不确定如何解决这个问题。任何帮助表示赞赏!谢谢!!

    $.ajax({
            type:"GET",
            dataType:"xml",
            url:"/search-ajax/" + window.location.search + "&pagination=" + page,
            success: function(data) {
                var xml = data;

                if (page == 1)
                {
                    $("#wait-element-container").remove();


                    // Issue is happening here only on IE!
                    var ajax_html = $(xml).find("#search-ajax-content").html();
                    $("#postload-target").append(ajax_html);
                }

            }
        });

3 个答案:

答案 0 :(得分:5)

jQuery能够将文本和查询解析为HTML(只要文本是有效的html)。你试过了吗?

$.ajax({
            type:"GET",
            dataType:"text",
            url:"/search-ajax/" + window.location.search + "&pagination=" + page,
            success: function(data) {
                var xml = data;

                if (page == 1)
                {
                    $("#wait-element-container").remove();


                    // Issue is happening here only on IE!
                    var ajax_html = $(xml).find("#search-ajax-content").html();
                    $("#postload-target").append(ajax_html);
                }

            }
        });

答案 1 :(得分:0)

我记得在使用ASP.NET的AJAX时有这个问题(但是)。我不知道这是否有帮助,但无论如何我都会发布。请注意" d"在XML的response解析中。它位于Javascript文件:

function ajaxCall() {
    $.ajax({
        /* Code ommited for brevity */
        ...
        success: 'myFunction_OnSuccess',
        ...
    });
}

function myFunction_OnSuccess(response) {
    /* On NetFramework 2.0 and older'*/
    /*var xmlDoc = $.parseXML(response);*/

    /*For NetFramework 3.5+'*/
    var xmlDoc = $.parseXML(response.d);
    var xml = $(xmlDoc);

    var msg = xml.find("msg").text();
}

这是我处理Ajax的onSuccess响应的方式。

答案 2 :(得分:0)

看起来您只对IE有问题,因为您设置了数据类型:

dataType:$.browser.msie ? "text" : "xml",

将其更改为

dataType: "xml",

它应该没问题。