Javascript 使用jquery提交表单时获取返回(不刷新)
在我的页面上提交表单时,我有一个调用PHP页面的代码(如下所示): 它很好用。它调用action.php并显示一个类似suces!!的警报 我的问题是:我想从php文件中得到一个返回 例如。。如果有问题,则返回false 并避免表单提交、显示和错误警报Javascript 使用jquery提交表单时获取返回(不刷新),javascript,php,jquery,Javascript,Php,Jquery,在我的页面上提交表单时,我有一个调用PHP页面的代码(如下所示): 它很好用。它调用action.php并显示一个类似suces!!的警报 我的问题是:我想从php文件中得到一个返回 例如。。如果有问题,则返回false 并避免表单提交、显示和错误警报 非常感谢,伙计们。在您的php文件中,使用类似这样的内容,您将执行error函数。我相信所有4xx和5xx代码都能工作 header('HTTP/1.0 404 Not found'); exit; 在这种情况下,最好让de Php返回一个JS
非常感谢,伙计们。在您的php文件中,使用类似这样的内容,您将执行
error
函数。我相信所有4xx和5xx代码都能工作
header('HTTP/1.0 404 Not found');
exit;
在这种情况下,最好让de Php返回一个JSON字符串,该字符串包含一条消息,其中包含一个success或一个errorcode 然后,在成功方法中,您将分析数据变量。根据返回对象中的成功代码,您将在表单中显示感谢信息或错误。
- 您的逻辑必须写在php文件中
- 在提交表单时,数据将进入action.php文件
- 在那里,您可以只回显json数据
- 或者简单的“成功”
- 在ajax中执行此操作
使用Ajax时,由于提交表单和Ajax调用是异步的,所以不可能向表单返回false并显示错误 相反,如果ajax成功,您可以在单击按钮并提交表单时调用ajax
$(document).ready(function(){
$('#ajaxButton').on('click',function(e) {
$.ajax({
url:'action.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
alert('success!!');
//submit your form here
$('#formId').submit();
},
error:function(data){
alert('error');
}
});
e.preventDefault();
});
});
success
回调的data
参数是PHP的响应,因此您可以检查错误。使用ajax,您不能这样做,因为这是异步调用。@BhushanKawadkar谁告诉您???@BlankHead,我不知道是否有提交表单的方法,在提交表单中调用ajax,您可以等到ajax返回successfull/not。请你解释一下怎么做好吗。我不熟悉ajax和表单提交。
success:function(data){
if(data == "success")
alert("success");
else
alert("Fail");
}
$(document).ready(function(){
$('#ajaxButton').on('click',function(e) {
$.ajax({
url:'action.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
console.log(data);
alert('success!!');
//submit your form here
$('#formId').submit();
},
error:function(data){
alert('error');
}
});
e.preventDefault();
});
});