首页 新闻 会员 周边 捐助

jquery $.ajax方法 火狐IE8都没问题,ie6 就没反应了。

0
悬赏园豆:200 [已关闭问题]

代码
function updateMsg(num) {
var nowpage = parseInt($("#vypis dl").attr("page")) + num;
alert(
"1");
$.ajax({
type:
"GET",
url:
"json.aspx",
dataType:
"json",
beforeSend:
function() { addmask(); alert("2"); },
error:
function(textStatus,errorThrown) { alert(textStatus.toString()+errorThrown.toString());alert("4"); removemask(); },
success:
function(data) {
alert(
"3");
var ms = "";
$(
"#vypis dl").attr("page", nowpage);
var pagecount = parseInt((data.Guest.length + 2) / 3);
try {
for (var i = 0; i < 3; i++) {
ms
= ms + "<dt><strong>" + data.Guest[(nowpage - 1) * 3 + i].Title + "</strong></dt><dd><em title=" + data.Guest[(nowpage - 1) * 3 + i].Content + ">" + data.Guest[(nowpage - 1) * 3 + i].Content + "</em><br><span>" + data.Guest[(nowpage - 1) * 3 + i].Name + ": <strong>" + data.Guest[(nowpage - 1) * 3 + i].DateTime + "</strong></span></dd>";
}
}
catch (e) { }
if ((data.Guest.length + 2) / 3 == nowpage) { $("#next").css("display", "none"); } else { $("#next").removeAttr("style"); }
if (nowpage == 1 || pagecount == 1) { $("#prev").css("display", "none"); } else { $("#prev").removeAttr("style"); }
$(
"#PageIndex").text(nowpage + "/" + pagecount);
$(
"#vypis dl").html(ms);
},
complete:
function() { removemask(); alert("5"); }
});
alert(
"6");
}

 

火狐下没问题,ie8下也没问题。

郁闷的是跑到ie6下就bug了。就是不执行success里的方法.
jquery框架,哪里错了???

graymaster的主页 graymaster | 初学一级 | 园豆:7
提问于:2010-04-22 00:46
< >
分享
其他回答(2)
0

为什么每次都要两个分号(;)?

Composure | 园豆:205 (菜鸟二级) | 2010-04-22 01:05
0
json.aspx 中设置Response.ContentType为json格式。
切忌浮躁 | 园豆:235 (菜鸟二级) | 2010-04-22 05:49
0

如果上面的代码没有问题,你每个换行都多一个分号。你可以看看这篇文章:http://www.cnblogs.com/sky-earth/archive/2009/12/22/1630053.html 

以前写过:

function PageAjaxServiceTest() {
            $.ajax({
                type: "POST",
                contentType: "application/json;utf-8",
                url: "PageService.aspx/AjaxServiceTest",
                data: "{str:\"" + $("#inputName").val() + "\"}", //传到.cs静态方法的参数,str是方法的参数,必须一致                                     
                success: function(data) {
                    //将返回字符串转换为json对象
                    var json = null;
                    try {
                        json = eval('(' + data + ')');
                    } catch (e) {
                        alert("返回字符串不是json格式!");
                        return;
                    }
                    alert(json.d);
                }
            });
        }

Astar | 园豆:40805 (高人七级) | 2010-04-22 08:53
回答很详细,哈哈, 问题解决了,是我粗心了, json文件格式弄错了, 在{aa:aa,aa:aa,} 最后多写了个逗号,ie8火狐都没问题, ie6就有问题了,bug。天大的bug。 郁闷了
支持(0) 反对(0) graymaster | 园豆:7 (初学一级) | 2010-04-22 23:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册