【发布时间】:2017-05-05 03:54:11
【问题描述】:
我有一个 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 的行为是:
- 将数据插入数据库 - 成功
- 显示警报
- 打开新页面以供打印。
- 将当前页面刷新为新表单。
【问题讨论】:
-
您必须告诉我们当前和预期的行为是什么。我们不知道“不起作用”意味着什么。
-
好吧,警报没有出现。不打开新页面进行打印,也不刷新当前页面。
-
done/fail/always/then是应该在 deferred 之外使用的选项。success将用作 ajax 的参数。 -
检查浏览器开发工具是否有错误
-
并添加一个错误处理程序,因为调用并不总是成功。
标签: javascript php jquery mysql ajax