2016-12-19 33 views
-2

這是我的代碼:最大調用堆棧大小超過5

$("#submit_bill").on('click', function() { 
    $.post(url, { 
    note: note, 
    products: products, 
    quantity: quantity, 
    pro_txt: pro_txt, 
    payment_method: payment_method, 
    client_id: $('#client_id').val(), 
    type: $_billType, 
    id_account: $('#com_id').val(), 
    id_branch: $('#branch_id').val(), 
    total: final_total, 
    total_before_discount: total_before_discount, 
    discount: discount, 
    discount_type: "rs", 
    tree_id: tree_id, 
    user_id: $(this).find('#user_id').val(), 
    bill: 'bill', 
    bill_type: 'touch', 
    value: value, 
    add_bond: add_bond, 
    payment: payment, 
    print: 1, 
    pay_way: 0, 
    room_id: $('#room_id').val(), 
    related_bill_id: $('#related_bill_id').val(), 
    DetailedPay: DetailedPay, 
    options: options 
    }, function(donee) { 
    bill_id = donee; 
    $(".modal").modal("hide"); 
    url = '<?=ADMIN_ROOT?>/bills/show_bill&ajax&touch&print&id=' + bill_id; 
    $('#print_div').html('<iframe src="' + url + '" id="print_frame"></iframe>'); 
    $.post('<?=ADMIN_ROOT?>/bills/printCount&ajax', { 
     id: bill_id 
    }, function() { 
     location.reload() 
    }); 
    }, 'JSON'); 
}); 

我得到這個JavaScript錯誤在Chrome: 當點擊提交,出現此錯誤(最大調用堆棧尺寸超標), 解決什麼這個問題?

+0

所以,'submit'導致'POST',它(如果成功的話)導致'POST',從而導致'reload'? –

回答

1

這意味着,在你的代碼的某個地方,你調用一個函數,後者又調用另一個函數等等,直到你打調用堆棧限制。

這是因爲在未得到滿足基本情況遞歸函數的幾乎都是。

考慮以下代碼...

(function a() { 
    a(); 
})(); 
+1

這是一個很好的解釋,但不是真正的答案。它應該是一個評論。 –

+0

我可以把這個代碼? –

+1

@MohamedElzainy不管你想要@ScottMarcus用戶是太新,發表評論還沒有發生的錯誤 – Paulpro

相關問題