为什么AJAX成功调用中的代码不起作用? [英] Why is code in AJAX success call is not working?

查看:80
本文介绍了为什么AJAX成功调用中的代码不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个AJAX脚本,可将数据从表单插入MySQL数据库.这是AJAX.

I have an AJAX script to insert data from a form to MySQL database. This is the 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脚本成功将表单中的数据插入数据库.但是以某种方式,成功的脚本无法正常工作.为什么?

The AJAX script successfully insert data from the form to database. But somehow, the script on success is not working. Why?

此AJAX的行为是:

  • 将数据插入数据库-成功
  • 显示提醒
  • 打开新页面以进行打印.
  • 将当前页面刷新为新表单.

推荐答案

successcallback函数的名称,而不是promise.

The success is the name of the callback function and not the 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");
});

这篇关于为什么AJAX成功调用中的代码不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆