0
にエラーが発生私のjQueryのコードを超えた最大コールスタックのサイズがある:この質問の名前に似ているベアリング、他の多くの質問によるとキャッチされない例外RangeError:jQueryの
$.post($("#list").attr('action'), data, function(json)
{
if(json.listArr.length>0)
{
$.each(json.listArr, function() {
var $tr = $('<tr>', {
class : "catHead",
});
var $td = $('<td>', {
colspan : 11,
text : this.category
});
$("#listDB").append($tr.append($td));
$.each(this.value, function() {
var $tr = $('<tr>',{
class : "data"
});
var $td = $('<td>', {
html : '<input type="checkbox" id="selected[]" value="'+this.id+'" name="selected[]" /></td>'
});$tr.append($td);
$td = $('<td>', {
text : this.id
});$tr.append($td);
$td = $('<td>', {
text : this.catCount
});$tr.append($td);
$td = $('<td>', {
text : this.shop
});$tr.append($td);
$td = $('<td>', {
text : this.item
});$tr.append($td);
$td = $('<td>', {
text : this.qnty
});$tr.append($td);
$td = $('<td>', {
text : this.unit
});$tr.append($td);
$td = $('<td>', {
text : this.price_based_on
});$tr.append($td);
$td = $('<td>', {
text : this.mrp
});$tr.append($td);
$td = $('<td>', {
text : this.sellers_price
});$tr.append($td);
var formattedDate = new Date(this.last_updated_on);
var d = formattedDate.getDate();
var m = formattedDate.getMonth();
m += 1; // JavaScript months are 0-11
var y = formattedDate.getFullYear();
var date = (d<10?"0":"")+d+"-"+(m<10?"0":"")+m+"-"+y;
$td = $('<td>', {
text : date
});$tr.append($td);
$("#listDB").append($tr);
});
});
}
},"json");
、私は外を見てする必要があります再帰的に呼び出す2つの関数しかし、私は、問題のセクション(これ)を見つけるために(このコードの一部分である私のコード全体の)セクションを削除し始めました。私の人生のために、私はお互いを再帰的に呼び出す2つの関数を見つけることができません。では、このエラーの原因は何ですか?
は、ここでJSONデータの一部です:
{
"listArr": [
{
"category": "Fruits",
"value": [
{
"id": "127",
"catCount": "1",
"shop": "More",
"item": "Apples",
"qnty": "1",
"unit": "kg",
"price_based_on": "Kilos",
"mrp": "90.00",
"sellers_price": "90.00",
"last_updated_on": "2016-12-03"
},
{
"id": "128",
"catCount": "2",
"shop": "More",
"item": "Oranges (Nagpur)",
"qnty": "1",
"unit": "Piece",
"price_based_on": "Piece",
"mrp": "8.00",
"sellers_price": "8.00",
"last_updated_on": "2016-12-03"
}
]
}
]
}
はそれが役に立てば幸い!
これが答えではないですが、あなたが本当にテンプレートの枠組みを検討する必要がありますこのようなもののためのハンドルバーのように、あなたはもっと少なく、より読みやすく、テスト可能なコードでそれを行うことができます。 –
@DarrenSweeneyは、上記のフレームワークを使用してこのコードを書き換えることができますか? –
簡単に、瞬間のようなものを使用してください。 jsはすべての日付のものを1つの行に凝縮させる可能性があります - 読んで試してみてください。 –