[英]Why is code in AJAX success call is not working?
我有一個AJAX腳本,可將數據從表單插入MySQL數據庫。 這是AJAX。
<!-- SUBMIT FORM VIA AJAX -->
$("#f_product").on('submit',function(event){
event.preventDefault();
data = $(this).serialize();
$.ajax({
type: "POST",
url: "<?php echo site_url('con_product/ins_product'); ?>",
data: data
}).success(function() {
alert("Products list is ready to be printed");
window.open("<?php echo site_url('con_product/print_product'); ?>","_blank");
window.open("<?php echo site_url('con_product/form_product'); ?>","_self");
});
});
<!-- END SUBMIT FORM VIA AJAX -->
AJAX腳本成功將數據從表單插入數據庫。 但是以某種方式,成功的腳本不起作用。 為什么?
此AJAX的行為是:
success
是callback
函數的名稱,而不是promise
。
您應該使用:
$.ajax({
type: "POST",
url: "<?php echo site_url('con_product/ins_product'); ?>",
data: data,
success: function() {
alert("Products list is ready to be printed");
window.open("<?php echo site_url('con_product/print_product'); ?>","_blank");
window.open("<?php echo site_url('con_product/form_product'); ?>","_self");
}
});
還是done
承諾:
$.ajax({
type: "POST",
url: "<?php echo site_url('con_product/ins_product'); ?>",
data: data
}).done(function() {
alert("Products list is ready to be printed");
window.open("<?php echo site_url('con_product/print_product'); ?>","_blank");
window.open("<?php echo site_url('con_product/form_product'); ?>","_self");
});
我不確定是否有.success
函數。 但是您可以嘗試以下操作:
$.ajax({
type: "POST",
url: "<?php echo site_url('con_product/ins_product'); ?>",
data: data,
success: function(){
alert("Products list is ready to be printed");
window.open("<?php echo site_url('con_product/print_product'); ?>","_blank");
window.open("<?php echo site_url('con_product/form_product'); ?>","_self");
}
});
根據http://api.jquery.com/jquery.ajax/
棄用通知:從jQuery 3.0開始,刪除了jqXHR.success(),jqXHR.error()和jqXHR.complete()回調。 您可以改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。
如果success
代替success
怎么done
?
否則, success
應該是您使用匿名函數作為值將其放入$.ajax({...})
中的對象的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.