淺析Ajax后臺success傳來json數(shù)據(jù)的問題
最近在使用JQuery的ajax方法時,需要返回的數(shù)據(jù)為json數(shù)據(jù),在success返回中數(shù)據(jù)處理會根據(jù)返回方式不同會采用不同的方式來生成json數(shù)據(jù)。在$.ajax方法中應該是如何來處理的,簡單進行說明。
首先給出要傳的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); } });
這里是后臺傳遞數(shù)據(jù)的代碼
Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();
這種處理的方式將傳遞過來的數(shù)據(jù)直接解析為json數(shù)據(jù),也就是說這里的前臺js代碼可能直接把這些數(shù)據(jù)解析成json對象數(shù)據(jù),而并非字符串數(shù)據(jù),如data[0].demoData,這里就直接使用了這個json對象數(shù)據(jù)
2,使用webservice(asmx)來處理
這種處理方式就不會將傳遞過來的數(shù)據(jù)當成是json對象數(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); //這里有兩種對數(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ù)當成了字符串來處理的,所在就要對這個數(shù)據(jù)進行eval的處理,這樣才能成為真正的json對象數(shù)據(jù)。
即
success:function(data){ eval(data); }
以上所述是小編給大家介紹的Ajax后臺success傳來json數(shù)據(jù)的問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言小編會及時回復大家的!
相關(guān)文章
ajax回調(diào)函數(shù)中使用$(this)取不到對象的解決方法
如果在ajax的回調(diào)函數(shù)內(nèi)使用$(this)的話,實踐證明,是取不到任何對象的,需要的朋友可以參考下2014-06-06使用Ajax方法實現(xiàn)Form表單的提交及注意事項
這篇文章主要介紹了使用Ajax方法實現(xiàn)Form表單的提交及注意事項,需要的朋友可以參考下2017-07-07不使用XMLHttpRequest對象實現(xiàn)Ajax效果的方法小結(jié)
這篇文章主要介紹了不使用XMLHttpRequest對象實現(xiàn)Ajax效果的方法,結(jié)合具體實例形式分析了三種不使用XMLHttpRequest對象實現(xiàn)Ajax功能的相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下2019-07-07ajax中用josnp接收josn數(shù)據(jù)的實現(xiàn)方法
下面小編就為大家分享一篇ajax中用josnp接收josn數(shù)據(jù)的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12IIS7中Ajax.AjaxMethod無效的原因及解決方法
使用Ajax.AjaxMethod方法在asp.net的服務器下一切正常,用iis的時候,js中總是cs類找不到,具體的解決方法如下,遇到類似情況的朋友可以參考下2013-07-07用juery的ajax方法調(diào)用aspx.cs頁面中的webmethod方法示例
juery的ajax調(diào)用aspx.cs頁面中的webmethod方法:首先在 aspx.cs文件里建一個公開的靜態(tài)方法,然后加上WebMethod屬性,具體實現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07php ajax網(wǎng)站瀏覽統(tǒng)計功能的簡單實現(xiàn)
這個功能應該是很多網(wǎng)站都需要的,這里僅僅實現(xiàn)了一個基于文件的簡易版本,數(shù)據(jù)庫的版本請自行參考實現(xiàn),我這里實現(xiàn)的功能很不完善,比如未過濾是否為同一訪客,是否為同一IP等等,這里僅僅是給大家提供一個參考.2008-09-09