[英]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.