假设我有一个名为form.php的页面。然后我点击了一个名为"add按钮“的按钮。此按钮触发由jquery函数检测到的事件。jquery函数对add.php进行ajax调用。
在add.php内部,有检查数据库中是否存在特定记录的代码。如果它确实发现该记录存在,我希望执行以下操作。
我怀疑这是不可能的,因为在收到来自php的响应之后,AFAIK没有办法让ajax返回到当前正在执行的php脚本。
我是对的还是有办法这样做?
发布于 2016-06-28 07:43:00
您必须向ajax请求中添加一个参数,比如override和true和false。默认情况下/第一个请求将其设置为false。然后add.php执行它的默认操作并返回exists。
用户做出决定。如果他想重写,您可以使用override参数再次向true发送ajax请求。您的add.php会注意到这个参数,并做它必须做的任何事情。
使用已完成的回调将ajax处理程序封装在自己的函数中。这样,您就可以随意重用请求。很简单,不需要双重代码.
发布于 2016-06-28 07:42:52
第一个ajax调用的.done()函数在ajax调用成功完成时执行,所以当您的php脚本完全完成时执行。
如果您想做其他事情,则需要发出新的ajax请求。这可以是同一个或另一个脚本,发送不同的/新/附加参数。
请注意,如果没有完成第一个脚本,就必须确保不能调用第二个脚本,例如,通过设置和检查一个到期的会话变量。
发布于 2016-06-28 18:24:23
你可以做这样的事。
 $.post('add.php',$(this).serialize())
.done(function(result){
 var r = confirm("This record already exist, do you wish to overright");
 if(result == 'exist'){
        if (r == true) {
        $.post('update.php',$(this).serialize()).done(function(r){
            console.log(r);
        });
    } else {
        return false;
    }
 }else{
    console.log(result)
 }
});https://stackoverflow.com/questions/38069947
复制相似问题