亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用$.each對JSON數據執行jQuery循環

使用$.each對JSON數據執行jQuery循環

使用$.each對JSON數據執行jQuery循環下面的JSON返回到一個名為data的變量中。這是返回的JSON.。[ {"Id": 10004, "PageName": "club"}, {"Id": 10040, "PageName": "qaz"}, {"Id": 10059, "PageName": "jjjjjjj"}]我正在嘗試使用$.each循環這個集合,但是我遇到了警報顯示未定義的問題。我嘗試過很多不同的語法,但似乎無法理解。我使用的JQuery是$.each(data, function(i, item) {     alert(item.PageName);});有誰能把我引向正確的方向嗎?編輯這是我用來獲取數據的代碼$.getJSON('/Cms/GetPages/123', null, function(data) {   fillSelect(data);});這是在回調時被調用的函數function fillSelect(data) {   alert(data);   $.each(data, function(i, item) {     alert(item.PageName);   });}編輯2這讓我有點困惑,根據我的文檔,它應該像我有的那樣工作,但它沒有。Content-Type: application/json; charset=utf-8上面的JSON是正確的。我正在使用鉻,如果這使任何不同。將在IE和FF中進行測試.編輯3使用$.get生成"[\r\n {\r\n \"Id\": 10041,\r\n \"PageName\": \"01234567890\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10001,\r\n \"PageName\": \"about\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10056,\r\n \"PageName\": \"fdgdfgdfg\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10052,\r\n \"PageName\": \"hjkhjk\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10059,\r\n \"PageName\": \"jjjjjjj\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10057,\r\n \"PageName\": \"qqqqq\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10054,\r\n \"PageName\": \"qwqw\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n }\r\n]"
查看完整描述

3 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

var data = [ 
 {"Id": 10004, "PageName": "club"}, 
 {"Id": 10040, "PageName": "qaz"}, 
 {"Id": 10059, "PageName": "jjjjjjj"}];$.each(data, function(i, item) {
    alert(data[i].PageName);});$.each(data, function(i, item) {
    alert(item.PageName);});

這兩個選項運行良好,除非您有如下內容:

var data.result = [ 
 {"Id": 10004, "PageName": "club"}, 
 {"Id": 10040, "PageName": "qaz"}, 
 {"Id": 10059, "PageName": "jjjjjjj"}];$.each(data.result, function(i, item) {
    alert(data.result[i].PageName);});

編輯:

嘗試使用這個,并描述結果

$.get('/Cms/GetPages/123', function(data) {
  alert(data);});

編輯3:

這糾正了問題,但不是使用“val”的想法,您應該看到‘/CMS/GetPages/123’中的響應如何。

$.get('/Cms/GetPages/123', function(data) {
  $.each(eval(data.replace(/[\r\n]/, "")), function(i, item) {
   alert(item.PageName);
  });});


查看完整回答
反對 回復 2019-07-12
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

您是否將數據從String轉換為JavaScript對象?

你可以用data = eval('(' + string_data + ')');或者,哪個更安全,data = JSON.parse(string_data);但以后只會在FF 3.5中工作,或者如果您包括json2.js

jQuery自1.4.1以來也有此功能,$.parseJSON().

但實際上$.getJSON()應該為您提供已經解析過的json對象,因此您應該徹底檢查所有內容,在某個地方幾乎沒有什么錯誤,就像您可能忘記引用json中的某些內容一樣,或者其中的一個括號丟失了。


查看完整回答
反對 回復 2019-07-12
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

$.each(JSON.parse(result), function(i, item) {
    alert(item.number);});


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 921 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號