主頁 > 知識(shí)庫 > ajax獲取json數(shù)據(jù)為undefined原因分析

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

熱門標(biāo)簽:河間市地圖標(biāo)注app 地圖標(biāo)注推銷坑人 大眾點(diǎn)評(píng)400電話怎么申請(qǐng) 東平縣地圖標(biāo)注app 立陶宛地圖標(biāo)注 電銷機(jī)器人 長(zhǎng)春 中國(guó)地圖標(biāo)注不明確情況介紹表 怎樣在地圖標(biāo)注文字 上海企業(yè)外呼系統(tǒng)價(jià)錢

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

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

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

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

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

      以下是部分代碼:       

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

總結(jié)

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

您可能感興趣的文章:
  • js刪除對(duì)象/數(shù)組中null、undefined、空對(duì)象及空數(shù)組方法示例
  • JavaScript基本類型值-Undefined、Null、Boolean
  • 有關(guān)JS中的0,null,undefined,[],{},'''''''''''''''',false之間的關(guān)系
  • Javascript中判斷一個(gè)值是否為undefined的方法詳解
  • JS中怎樣判斷undefined(比較不錯(cuò)的方法)
  • JS中判斷null、undefined與NaN的方法
  • javascript中undefined的本質(zhì)解析

標(biāo)簽:內(nèi)江 四川 益陽 本溪 營(yíng)口 玉樹 遼寧 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ajax獲取json數(shù)據(jù)為undefined原因分析》,本文關(guān)鍵詞  ajax,獲取,json,數(shù),據(jù)為,undefined,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ajax獲取json數(shù)據(jù)為undefined原因分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于ajax獲取json數(shù)據(jù)為undefined原因分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章