使用jquery时是否可以识别页面返回的内容?我在这里使用jquery提交表单:
$("#sform").submit(function() {
$.ajax({
type: "POST",
data: $(this).serialize(),
cache: false,
url: "user_verify.php",
success: function(data) {
$("#form_msg").html(data);
}
});
return false;
});
user_verify.php页面执行其通常的验证工作,并返回错误消息或成功时将用户添加到数据库。如果它的错误是一堆错误消息或成功通常"您已成功注册"。如果错误消息返回或成功消息,我可以以某种方式识别使用jquery。因此,如果错误我可以在表单中使用该数据,或者如果成功,我可以关闭表单并显示成功消息。
答案 0 :(得分:1)
是的,就是这样:
success: function(data) {
$("#form_msg").html(data);
}
您可以以任何方式操纵data
。您可以从服务器端返回JSON(使用dataType
)编码的字符串,并处理success
函数中的数据
success: function(data) {
if(data->success == 'ok'){
// hide the form, show another hidden div.
}
}
所以user_verify.php
应该打印例如:
// .... queries
$dataReturn = array();
$dataReturn['success'] = 'ok';
$dataReturn['additional'] = 'test';
echo json_encode($dataReturn);
die; // to prevent any other prints.
答案 1 :(得分:0)
如果出现错误,你可以让php返回0,所以你在
中做了类似的事情 success: function(data) {
if(data==0){
//do error procedure
}else{
//do success procedure
}
}
希望这有帮助
答案 2 :(得分:0)
你可以这样做:
$.ajax({
type:"POST", //php method
url:'process.php',//where to send data...
cache:'false',//IE FIX
data: data, //what will data contain
//check is data sent successfuly to process.php
//success:function(response){
//alert(response)
//}
success: function(){ //on success do something...
$('.success').delay(2000).fadeIn(1000);
//alert('THX for your mail!');
} //end sucess
}).error(function(){ //if sucess FAILS!! put .error After $.ajax. EXAMPLE :$.ajax({}).error(function(){};
alert('An error occured!!');
$('.thx').hide();
});
//return false prevent Redirection
return false;
});
答案 3 :(得分:0)
你可以在“成功”回调函数中弄清楚“数据”参数。 我注意到你的代码中存在问题。看看这一行:
data: $(this).serialize(),
在$ .ajax jquery方法中,“this”绑定到全局窗口对象而不是$('#sform')