国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

ajax獲取json數據為undefined原因分析

2024-09-01 08:30:58
字體:
來源:轉載
供稿:網友

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

  一般處理服務器傳來的json值時,我們都會用兩種方式進行處理:

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

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

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

      以下是部分代碼:       

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乡县| 丹棱县| 承德市| 定兴县| 乌审旗| 云阳县| 临颍县| 泰兴市| 大连市| 新疆| 裕民县| 白水县| 彰化县| 阿拉善盟| 拉萨市| 富顺县| 通河县| 寿宁县| 泌阳县| 凌源市| 光山县| 闻喜县| 宜良县| 湖口县| 广州市| 贡觉县| 康乐县| 嘉峪关市| 平谷区| 娱乐| 靖边县| 浪卡子县| 绵阳市| 新兴县| 新津县| 华阴市| 托克逊县| 如东县| 江都市| 舒城县| 沂水县|