2011-02-23 27 views
0

我有一個ajax調用返回JSON到一個循環來填充表單域。原始數據看起來很好,但它永遠不會讓它通過循環和表單,並且在文檔的第1行引發「Uncaught SyntaxError:Unexpected token:」錯誤。難以捉摸的jQuery JSON解析器錯誤

這是AJAX功能:

$(function() { 
$('#id_license').blur(function() { 
    q = $('#id_license').val(); 
    $.ajax({ 
     datatype: 'json', 
     type: "POST", 
     data: 'lic='+q, 
     url: "/usr/xhr_license_search/?xhr", 
     success: function(data) 
     { $.each(data, function(field, value){ 
        $("#id_"+field).val(value); 



     }); 
      console.log(data); 
     } 
}); 

}); });

這是原始JSON返回: (手動匿名)

{"First_Name":"Jon","Last_Name":"Doe","address":"2 A st.","city":"anthtown","grade":"T5","licNum":"08933","state":"TA","user":1099,"zipCode":09117} 

我在Django使用傳入json.dump()來格式化的響應。

預先感謝您的煽動。

回答

0

我之前好幾次了這個問題,它的東西做的返回的數據類型。通過使用$不用彷徨或$。員額,而不是$阿賈克斯我已經能夠解決的問題,所以你:

$.post('/usr/xhr_license_search/?xhr', 'lic='+q, function(data){ 
    $.each(data, function(field, value){ 
     $("#id_"+field).val(value); 
    }); 
}, 'json'); 

這樣做,應該給你任何錯誤。

0

我很確定JSON會被zipCode中的前導0混淆;根據json.org的說法,它不應該被解析爲一個數字。你確定你不打算成爲一個字符串嗎?

0

嘗試增加一對括號周圍的原始JSON,這使得它像

({"First_Name":"Jon","Last_Name":"Doe","address":"2 A st.","city":"anthtown","grade":"T5","licNum":"08933","state":"TA","user":1099,"zipCode":09117})