[英]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.