淺析Ajax后臺(tái)success傳來json數(shù)據(jù)的問題
最近在使用JQuery的ajax方法時(shí),需要返回的數(shù)據(jù)為json數(shù)據(jù),在success返回中數(shù)據(jù)處理會(huì)根據(jù)返回方式不同會(huì)采用不同的方式來生成json數(shù)據(jù)。在$.ajax方法中應(yīng)該是如何來處理的,簡(jiǎn)單進(jìn)行說明。
首先給出要傳的json數(shù)據(jù):[{"demoData":"This Is The JSON Data"}]
1,使用普通的aspx頁面來處理
$.ajax({
type: "post",
url: "Default.aspx",
dataType: "json",
success: function (data) {
$("input#showTime").val(data[0].demoData);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
這里是后臺(tái)傳遞數(shù)據(jù)的代碼
Response.Clear();
Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]");
Response.Flush();
Response.End();
這種處理的方式將傳遞過來的數(shù)據(jù)直接解析為json數(shù)據(jù),也就是說這里的前臺(tái)js代碼可能直接把這些數(shù)據(jù)解析成json對(duì)象數(shù)據(jù),而并非字符串?dāng)?shù)據(jù),如data[0].demoData,這里就直接使用了這個(gè)json對(duì)象數(shù)據(jù)
2,使用webservice(asmx)來處理
這種處理方式就不會(huì)將傳遞過來的數(shù)據(jù)當(dāng)成是json對(duì)象數(shù)據(jù),而是作為字符串來處理的,如下代碼
$.ajax({
type: "post",
url: "JqueryCSMethodForm.asmx/GetDemoData",
dataType: "json",/*這句可用可不用,沒有影響*/
contentType: "application/json; charset=utf-8",
success: function (data) {
$("input#showTime").val(eval('(' + data.d + ')')[0].demoData);
//這里有兩種對(duì)數(shù)據(jù)的轉(zhuǎn)換方式,兩處理方式的效果一樣
//$("input#showTime").val(eval(data.d)[0].demoData);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
下面這里為asmx的方法代碼
public static string GetDemoData() {
return "[{\"demoData\":\"This Is The JSON Data\"}]";
}
這里的這種處理方式就把傳遞回來的json數(shù)據(jù)當(dāng)成了字符串來處理的,所在就要對(duì)這個(gè)數(shù)據(jù)進(jìn)行eval的處理,這樣才能成為真正的json對(duì)象數(shù)據(jù)。
即
success:function(data){
eval(data);
}
以上所述是小編給大家介紹的Ajax后臺(tái)success傳來json數(shù)據(jù)的問題,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Ajax方式實(shí)現(xiàn)定期更新頁面某塊內(nèi)容的方法
這篇文章主要介紹了Ajax方式實(shí)現(xiàn)定期更新頁面某塊內(nèi)容的方法,涉及jquery中l(wèi)oad方法Ajax調(diào)用及setInterval定時(shí)執(zhí)行的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
淺談Ajax相關(guān)及其優(yōu)缺點(diǎn)
最近在學(xué)習(xí)有關(guān) AJAX 的知識(shí),上網(wǎng)查閱了一些有關(guān) AJAX 的資料,主要是有關(guān) AJAX的技術(shù)簡(jiǎn)介及其優(yōu)缺點(diǎn)等。在這里,我想對(duì)我收集的資料做一些小小的總結(jié),大部分資料都來自網(wǎng)上,本人在此只做分類總結(jié),希望對(duì)和我一樣正在學(xué)習(xí) AJAX 的朋友有一定的幫助。2015-06-06
AJAX 請(qǐng)求區(qū)分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解
關(guān)于這個(gè)內(nèi)容,很多人都有所了解.但從我搜索的內(nèi)容來看,他們只是略微看一下,根本不知道里面到底是什么情況.2011-06-06
js+ajax處理java后臺(tái)返回的json對(duì)象循環(huán)創(chuàng)建到表格的方法
這篇文章主要介紹了js+ajax處理java后臺(tái)返回的json對(duì)象循環(huán)創(chuàng)建到表格的方法,涉及javascript操作json對(duì)象動(dòng)態(tài)創(chuàng)建表格以及基于ajax與后臺(tái)交互的相關(guān)技巧,需要的朋友可以參考下2016-08-08
Ajax實(shí)現(xiàn)模擬關(guān)鍵字智能匹配搜索效果
這篇文章主要介紹了Ajax實(shí)現(xiàn)模擬關(guān)鍵字智能匹配搜索效果,當(dāng)在搜索框輸入內(nèi)容時(shí),根據(jù)關(guān)鍵字匹配,顯示彈出層,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
在實(shí)戰(zhàn)中可能碰到的幾種ajax請(qǐng)求方法詳解
這篇文章主要給大家分享了在實(shí)戰(zhàn)中可能碰到的幾種ajax請(qǐng)求方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03
淺談Ajax技術(shù)實(shí)現(xiàn)頁面無刷新
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。這篇文章主要介紹了Ajax技術(shù)實(shí)現(xiàn)頁面無刷新的相關(guān)資料,需要的朋友可以參考下2016-03-03
Ajax異步請(qǐng)求的五個(gè)步驟及實(shí)戰(zhàn)案例
通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,Ajax可以使網(wǎng)頁實(shí)現(xiàn)異步更新,下面這篇文章主要給大家介紹了關(guān)于Ajax異步請(qǐng)求的五個(gè)步驟及實(shí)戰(zhàn)案例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

