$ .get中的alert()Ajax不在IE中工作

时间:2013-12-06 00:18:08

标签: javascript ajax jquery

嘿我在IE中遇到有关alert()的有线问题 我正在使用Jquery Ajax $ .get来获取数据.... 这是代码......

 $(document).ready(function () {

     $("#save").click(function () {
         vars = "pg=13&";
         if ($("#parent_code").val() == "") {
             vars += "type=insert&";
         } else {
             vars += "type=update&";
         }
         vars += $("#parent").serialize();
         $.get("pgs/dpg.php", vars, function (data) {
             $(data).find("row").each(function () {
                 stat = $(this).children(":first-child").text();
                 if (stat == "Saved") {
                     if ($("#parent_code").val() == "") {
                         $("#parent_code").val($(this).children(":nth-child(2)").text());
                         $("#parent_date").val($(this).children(":nth-child(3)").text());
                     }
                 }
                 alert(stat);
                 alert(data);
             });
         });
     });
 });

以上功能可以在所有浏览器中显示弹出窗口,除了IE我不知道我错在哪里.....请帮助.........

2 个答案:

答案 0 :(得分:-1)

试试这个,应该适用于IE 8。

$(data).find("row").each(function () {
    var firstChild = $(this).children().first(),
    stat = firstChild.text();
    if (stat == "Saved") {
        if ($("#parent_code").val() == "") {
            $("#parent_code").val(firstChild.next().text());
            $("#parent_date").val(firstChild.next().next().text());
        }
    }
    alert(stat);
    alert(data);
});

答案 1 :(得分:-2)

在您发布的代码中,您最后错过了结束});

无论如何,您应该使用var vars = ...;var stat = ...;,使用显式var关键字来初始化变量。

此外,IE< 9不支持:nth-child选择器,但您可以找到一些解决方法here