1. 程式人生 > >Jquery中ajax傳輸json資料顯示undefined錯誤

Jquery中ajax傳輸json資料顯示undefined錯誤

今天在做ajax的時候突然發現一個問題,以前在用Jquery1.3的時候都正常的方法結果現在都不行。
firebug中發現我要的資料已經返回,而且資料顯示正常,但是前臺取值一直都提示undefined。
找了好久資料才找到原因。
Jquery1.4中對JSON資料格式進行了嚴格限制,原先在Jquery1.3中能用的格式現在都不能使用

原資料格式
{
isOk:true,
msg:'傳輸成功'
}
解決方法:
標準的json格式,要求對字串都使用""限定,修改後的內容為:
{
“isOk”:true,
"msg":"傳輸成功"
}

//ajax資料接收示例
var dat={id:"123456",name:"over"};

$.ajax({
    type: "POST",
    url: "/Test.ashx",
    data: dat,
    dataType: "json",     //此處要新增資料型別
    success: function(data) {
        if (data.isOk == true) {
            alert(data.msg);
        } else {
            alert(data.msg);
        }
    },
    error: function() {
        alert("資訊提交失敗");
    }
});

$.post("/Test.ashx", dat, function(data) { alert(data.isOk); },"json");//post方法中,最後要新增一個數據型別"json"

備註:網上還有一種方法,就是修改Jquery原始檔。參考http://cleaneyes.javaeye.com/blog/663883

如果您喜歡我寫的博文,讀後覺得收穫很大,不妨小額贊助我一下,讓我有動力繼續寫出高質量的博文,感謝您的讚賞!!!