最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

ajax獲取json數(shù)據(jù)為undefined原因分析

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:51:34
文檔

ajax獲取json數(shù)據(jù)為undefined原因分析

ajax獲取json數(shù)據(jù)為undefined原因分析:Asynchronous JavaScript and XML (Ajax ) 是驅(qū)動新一代 Web 站點(流行術(shù)語為 Web 2.0 站點)的關(guān)鍵技術(shù)。Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺進(jìn)行數(shù)據(jù)檢索。使用 XMLHttpRequest 函數(shù)獲取數(shù)據(jù),它是一種 API,允
推薦度:
導(dǎo)讀ajax獲取json數(shù)據(jù)為undefined原因分析:Asynchronous JavaScript and XML (Ajax ) 是驅(qū)動新一代 Web 站點(流行術(shù)語為 Web 2.0 站點)的關(guān)鍵技術(shù)。Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺進(jìn)行數(shù)據(jù)檢索。使用 XMLHttpRequest 函數(shù)獲取數(shù)據(jù),它是一種 API,允

Asynchronous JavaScript and XML (Ajax ) 是驅(qū)動新一代 Web 站點(流行術(shù)語為 Web 2.0 站點)的關(guān)鍵技術(shù)。Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺進(jìn)行數(shù)據(jù)檢索。使用 XMLHttpRequest 函數(shù)獲取數(shù)據(jù),它是一種 API,允許客戶端 JavaScript 通過 HTTP 連接到遠(yuǎn)程服務(wù)器。Ajax 也是許多 mashup 的驅(qū)動力,它可將來自多個地方的內(nèi)容集成為單一 Web 應(yīng)用程序。

  一般處理服務(wù)器傳來的json值時,我們都會用兩種方式進(jìn)行處理:

1.一種為使用eval()函數(shù)。var dataObj=eval("("+data+")");//轉(zhuǎn)換為json對象(注:data為json數(shù)據(jù));

2. 使用Function對象來進(jìn)行返回解析。var json =(new Function("","return "+data))();

       但是今天做項目(項目用struts2)時用這兩種方法進(jìn)行json讀取,輸出時一直是undefined。上網(wǎng)查了許多資料,大多都說不明白,后來查到一篇文章作者也遇到這種情況,他解決的辦法是在action中將返回值聲明json屬性,在自己的項目上測試后不通過,后來解決的辦法是再轉(zhuǎn)一次。以下是自己的思考:從后臺傳來的數(shù)據(jù)雖然聲明為json屬性,但是傳到前臺時其實還是一個字符串,不是一個json對象,這時候我們需要對后臺的數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)化為json對象,然后獲取json中的值。但是有時候后臺傳來的值不一定是標(biāo)準(zhǔn)的json格式的字符串,雖然我們通過前面的兩種方法之一轉(zhuǎn)化后臺傳來的對象,但是這時候轉(zhuǎn)化的json對象實際上還是一個字符串,是一個標(biāo)準(zhǔn)的json字符串,我們再一次轉(zhuǎn)換后就成了一個json對象。

      以下是部分代碼:       

 result = JSONObject.fromObject(map).toString();//后臺代碼,將map轉(zhuǎn)成json對象
 success : function(result) {//前臺返回值代碼
var obj = eval("("+result+")");
//var data1 =(new Function("","return "+obj))();
var data1=eval("("+obj+")");
alert(data1.name);
 }

總結(jié)

以上所述是小編給大家介紹的ajax獲取json數(shù)據(jù)為undefined原因分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ajax獲取json數(shù)據(jù)為undefined原因分析

ajax獲取json數(shù)據(jù)為undefined原因分析:Asynchronous JavaScript and XML (Ajax ) 是驅(qū)動新一代 Web 站點(流行術(shù)語為 Web 2.0 站點)的關(guān)鍵技術(shù)。Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺進(jìn)行數(shù)據(jù)檢索。使用 XMLHttpRequest 函數(shù)獲取數(shù)據(jù),它是一種 API,允
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top