溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ajax獲取json數(shù)據(jù)為undefined的示例分析

發(fā)布時(shí)間:2021-05-25 09:24:15 來(lái)源:億速云 閱讀:97 作者:小新 欄目:web開(kāi)發(fā)

這篇文章給大家分享的是有關(guān)ajax獲取json數(shù)據(jù)為undefined的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

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

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

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

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

       但是今天做項(xiàng)目(項(xiàng)目用struts2)時(shí)用這兩種方法進(jìn)行json讀取,輸出時(shí)一直是undefined。上網(wǎng)查了許多資料,大多都說(shuō)不明白,后來(lái)查到一篇文章作者也遇到這種情況,他解決的辦法是在action中將返回值聲明json屬性,在自己的項(xiàng)目上測(cè)試后不通過(guò),后來(lái)解決的辦法是再轉(zhuǎn)一次。以下是自己的思考:從后臺(tái)傳來(lá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)傳來(lái)的值不一定是標(biāo)準(zhǔn)的json格式的字符串,雖然我們通過(guò)前面的兩種方法之一轉(zhuǎn)化后臺(tái)傳來(lá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);
      }

什么是ajax

ajax是一種在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分網(wǎng)頁(yè)的技術(shù),可以通過(guò)在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新。

感謝各位的閱讀!關(guān)于“ajax獲取json數(shù)據(jù)為undefined的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI