假设我有一个名为 form.php 的页面。然后我单击了一个名为“添加按钮”的按钮。此按钮会触发 jquery 函数检测到的事件。 jquery 函数对 add.php 进行 ajax 调用。
在add.php中,有一些代码检查数据库中是否存在特定记录。如果它确实发现该记录存在,我想执行以下操作。
- 向 ajax 发送响应字符串“exist”。
- ajax 在 .done() 函数中会执行一条提示,提示“此记录已存在,是否要覆盖”?
- 如果用户取消了提示,则不会再发生任何事情,并且应该执行 ajax 调用。
- 如果用户单击“确定”,我希望 php 脚本收到通知并使用 form.php 中的数据执行更新语句。
我怀疑这是不可能的,因为在收到 php 的响应后,据我所知,ajax 无法响应当前正在执行的 php 脚本。
我是对的还是有办法做到这一点?
最佳答案
您必须向 ajax 请求添加一个参数,例如使用 true
和 false
进行override
。默认/第一次请求时,您将其设置为false
。然后 add.php 执行默认操作并返回 exists
。
用户做出他的决定。如果他想覆盖,您可以再次发送ajax请求,并将override
参数设置为true
。您的 add.php 将注意到该参数并执行它必须执行的任何操作。
将您的 ajax 处理程序包装在一个带有完成回调的自己的函数中。因此,您可以根据需要多次重复使用该请求。非常简单,也不需要双重代码......
关于javascript - ajax调用后将响应发送回php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38069947/