我有一个 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");
}
});
或者完成
promise :
$.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");
});
关于javascript - 为什么 AJAX 成功调用中的代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233734/