2014-12-23 76 views
0

我從ajax調用返回了三個值。這裏是JSON對象在我的控制檯日誌內容:從jquery ajax返回的json對象的循環調用

{"no":"img2","name":"mylogo.jpg","location":"u_images\/1\/"} 

否是指以縮略圖的div容器在這裏我想顯示用戶

上傳的圖片的縮略圖 - 名稱顯然是文件的名稱

-location指的是用戶上傳文件到的文件路徑,我想抓取文件並顯示在縮略圖中。

-1在位置的末尾是給出用戶的id的文件夾。

這裏是我已經試過:

success: function(data) 
    { 

     if (data != '') 
     { 
      //console.log(data); 

      var data = $.parseJSON(data); 

      $(data).each(function(num,name,loc) //this looks stupid i know,but it's just the last //of the hundred things i've tried-i know the fault has to lie here in my loop syntax. 

     { 
      var imgsrc = loc+'name'; 
      $('#'+num+'div').html('<img src="'+imgsrc+'" width="50" height="50" />'); 

     }); 

    } 
} 

所以當我提交表單,我得到返回的對象在我的控制檯日誌還好,但我的其他代碼在縮略圖代替加載GIF圖像與上傳的文件的圖像不起作用,我也沒有得到任何錯誤。

任何幫助或建議非常感謝。

+2

爲什麼你認爲你需要一個循環? 'data.no','data.name'和'data.location'具有你想要的。 – JJJ

+0

你可能已經有一個對象在那裏。應該沒有必要json.parse它。 – Abhitalks

+0

@abhitalks而「JSON」則表示「對象」。 – JJJ

回答

0

嗨,以防萬一有人在gthis絆倒,我只是想關閉它,因爲我得到它的工作多虧lolka_bolka的領先地位。我所要做的就是這樣:

success: function(data) 
    {  
    if (data != '') 
    { 
    data = $.parseJSON(data); 
    $(data).each(function(idx, obj) 
     { 
      console.log(obj); //Check this 
      var imgsrc = obj.location + obj.name; 
      $('#' + obj.no + 'div').html('<img src="' + imgsrc + '" width="50" height="50" />'); 
     });     
    } 
} 
-1

每個函數都有2個參數,即鍵和對象。檢查我的代碼。

var data = '{"no":"img2","name":"mylogo.jpg","location":"u_images\/1\/"} '; 
    data = $.parseJSON(data); 
    $(data).each(function(idx, obj) { 
     //console.log(obj); //Check this 
     var imgsrc = obj.location + 'name'; 
     $('#' + idx + 'div').html('<img src="' + imgsrc + '" width="50" height="50" />'); 

    }); 
+0

我只是試過你的代碼,它沒有工作。我在控制檯中得到了這個錯誤:SyntaxError:JSON.parse:JSON數據第1行第1列的意外字符 –

+0

你非常接近。你可能只是打錯了。這讓我學習了一種操縱物體的新方法,所以我有它的工作,這是一個恥辱,我不能投票給你 - :(沒有足夠高的聲譽。非常感謝 –