[英]js working in console but not from function
從ajax調用返回的數據后,我正在調用以下函數。 它執行第一個console.log(),其中包含來自ajax調用的數據。 但是each()循環遍歷-響應,沒有console.log任何東西。
primaSaveOrder.prototype = {
start: function(response){
console.log(response)
$j('#primaId').val('');
$j('#dialog').closest('.ui-dialog-content').dialog('close');
$j.each(response['billing'], function(i, val) {
console.log(response['billing'][i])
});
},
}
我認為我的代碼不是很錯誤,因為如果我在控制台中手動創建一個等於-console.log(response)輸出的變量,然后運行-
$j.each(response['billing'], function(i, val) {
console.log(response['billing'][i])
});
有用。 我更喜歡運行$j('#' + i).val(response['billing'][i])
而不是console.log(response['billing'][i]
。
如果我直接在瀏覽器中但不在文件中這樣做,這也可以工作。 我認為它是相關的,但我不知道如何解決它。
這是我為了保護隱私而更改某些數據的示例
{"billing":{"order-billing_address_firstname":"test","order-billing_address_lastname":"test","order-billing_address_street0":"6 test","order-billing_address_street1":"test","order-billing_address_city":"","order-billing_address_country_id":"GB","order-billing_address_region":"","order-billing_address_postcode":"16","order-billing_address_telephone":"","order-billing_address_vat_id":"","order-billing_address_prima_address_code":"0"},"shipping":{"order-shipping_address_firstname":"test","order-shipping_address_lastname":"test","order-shipping_address_street0":"6 test","order-shipping_address_street1":"test","order-shipping_address_city":"","order-shipping_address_country_id":"GB","order-shipping_address_region":"","order-shipping_address_postcode":"16","order-shipping_address_telephone":"","order-shipping_address_vat_id":"","order-shipping_address_prima_address_code":"0"}}
響應的類型可能是String。 在這種情況下,使用將響應轉換為json
response = JSON.parse(response);
在使用響應進行迭代之前。
我沒有說,這會有所幫助,但是有幾件事應該檢查問題根:
console.log(i, $j('#' + i).size())
可以解決問題。 我認為可能沒有設置值的要素。 val
參數,而不是通過response['billing'][i]
引用它。 盡管我看不到response
var如何被覆蓋或隱藏,但是由於將其傳遞到回調中,所以我們直接使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.