出於某種原因,我的JSON響應中的字段在IE中未定義。當我在鉻中運行它看起來很好。但在IE中,當我寫入控制檯時顯示未定義。IE 11奇怪的JSON問題
這裏是我的代碼
function getList() {
var argument = new Object();
argument.identifier = _settings.identifier;
$.ajax({
url: "/Vendor.aspx/GetList",
data: JSON.stringify(argument),
dataType: 'json',
contentType: 'application/json',
error: function (xhr) {
console.log(xhr);
},
success: function (data) {
addData(JSON.parse(data.d));
},
type: 'POST'
});
}
function addData(data) {
if (data === undefined || data === null || data.length == 0) {
alert('No data to show');
return;
}
//this.clearRows();
for (var index = 0; index < data.length; index++) {
var d = data[index];
var row = '<tr>' +
'<td>' + d.Item + '</td>' +
'<td>' + d.AlternativeItem + '</td>' +
'<td>' + d.Condition + '</td>' +
'<td>' + d.PCS + '</td>' +
'<td>' + d.Description + '</td>' +
'<td><input type="text" class="input-field-integer" id="' + d.Item + '"/></td>' +
'<td><input type="text" class="input-field-integer" value="' + d.Price + '"/></td>' + //This field is empty in IE but not in Chrome.
'<td><input type="text" class="input-field" value="' + d.Condition2 + '"</></td>' +
'<td><input type="text" class="input-field" value="' + d.Stock + '"</></td>' +
'<td><input type="text" class="input-field" value="' + d.ETAIfNotInStock + '"</></td>' +
'</tr>';
$(this._settings.fileTable + ' tbody').append(row);
console.log(d.Price); // value is undefined???
}
}
這裏是JSON的輸出: { 「項目」: 「1234」, 「AlternativeItem」: 「」, 「條件」: 「新的零售」 ,「PCS」:「20」,「描述」:「我的物品細節」,「價格」:「100」,「條件2」:「新」,「庫存」:「5 stk」,「ETAIfNotInStock」 「,」評論「:」「,」RowReference「:null}
請註明您的JSON接收響應(編輯成短) – Richard
您也可以嘗試清除瀏覽器緩存。 –
是你的反應真的雙json編碼? – dandavis