我有下面的代碼在那裏它增加了項目JSON字符串,爲什麼jquery .push()在這種情況下不起作用?
function addOrder(req, orderId, orderSource, transactiondtm) {
alert(orderId);
req.Request.orderslist.push({ ordid: orderId,
ordsource: orderSource,
tranndtm: transactiondtm });
}
function getDisplayPts(){
var req = {
"Request": {
"-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"number": Num,
"orderslist": {
"ordid": [],
"ordsource": [],
"tranndtm": []
}
}
};
$('#msListingProducts ul.msRows li input').each(function(index) {
addOrder(req,$('#hfOrderId'+index).val(),$('#hfOrderSource'+index).val(),$('#hfOrdTranDate'+index).val());
});
var str = JSON.stringify(req);
alert(str);
}
我得到req.Request.orderslist.push()
不是一個函數。任何建議。對於一些行的訂單ID即將爲未定義是不是因爲那?
編輯: 我需要的JSON格式是,
{
"Request": {
"-xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"memNum": "70000211981",
"orderslist": [
{
"ordid": "511",
"ordsource": "ONLINE",
"transactiondttm": "2014-01-09"
},
{
"ordid": "512",
"ordersource": "STORE",
"tranndttm": "2014-01-09"
}
]
}
}
您試圖訪問對象元素作爲數組,因此它給出了一個錯誤。這裏'req.Request.orderslist'是一個對象,.push()方法是將數據推入數組,因此它給出了一個錯誤。爲了解決這個問題,'req.Request.orderslist'是一個數組,然後在其中推入記錄。 –
@SohilDesai你能解釋一下嗎? – coderman
檢查我的答案。 –