簡體   English   中英

循環JSON數組時出現問題

[英]issue while looping a json array

我從json格式的ajax調用中檢索選擇的某些選項。 我設置為在選擇中顯示新選項(替換現有選項)的代碼如下:

success: function (data){
    var $select = $('#dettaglio');
    $select.html('');
    $.each(data, function(key, val){
        $select.append('<option id="' + val.id + '">' + val.text +'</option>');
    })
}

而json是這樣的:

[
   {"id":"1","text":"J-Invest Spa"},
   {"id":"2","text":"J-A Holding S.r.l."},
   {"id":"3","text":"J-Invest Advisory & Servicing S.r.l."},
   {"id":"4","text":"J-Invest Immobiliare e Consulenza S.r.l."}
]

運行此代碼會導致不容易理解的錯誤:

TypeError:無效的“ in”操作數e

... === n ||“函數”!== n &&(0 === t ||“ number” ==類型t && t> 0 && t-1在e)} r = b(o); var _ = { } ...

jQuery引發錯誤,但這對查看我的代碼錯誤在哪里沒有幫助。 有什么提示嗎?

是的,我從mysql獲取一個數組,並使用json_encode進行編碼。 從服務器接收的數據將始終為string類型。 您需要對其進行解析以轉換為JSON格式。 你可以試試這個嗎?

success: function(data) {
  data = JSON.parse(data);

或者,如果您使用的是舊版IE,也可以嘗試:

success: function(data) {
  data = $.parseJSON(data);

最簡單的方法是通過添加以下內容在PHP上進行一些更改:

header('Content-type: application/json');

只是。 jQuery自動設置為檢測返回數據的編碼。 如果以后決定發送其他內容,則只需更改標題即可。

警告:在輸出ANY之前,此函數必須是要執行的第一個函數。 否則,它將向您拋出錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM