我有一个jquery ajax表单。 我在服务器端验证了重复的用户名和电子邮件ID。 没有jquery / ajax就可以正常工作。
在我的php代码中,如果发生任何错误,我使用die()返回。我的主要问题是在ajax
这是代码
$(document).ready(function () {
$("form#regist").submit(function () {
var str = $("#regist").serialize();
$.ajax({
type: "POST",
url: "submit1.php",
data: $("#regist").serialize(),
success: function () {
$("#loading").append("<h2>you are here</h2>");
}
});
return false;
});
});
成功功能正常运作。如果我的数据有效,则将其添加到数据库中,如果我的数据重复,则不会在数据库中添加。现在我想知道的是我如何从我的php文件返回错误并在成功事件中使用它。提前谢谢..
编辑:这是我的php脚本的外观
$query = "SELECT username from userdetails WHERE username = '$username'";
$q = mysql_query($query) or die("error" . mysql_error());
$numrows = mysql_num_rows($q);
if($numrows > 0)
{
die("username already exixt");
//should i put something like this
//$error = "username already exists";
//return $error; --->> i am not sure about this..
}
提前致谢
答案 0 :(得分:2)
Php方面:
if($numrows > 0)
{
echo "username already exist";
}
Javascript方面:
success: function(msg)
{
if(msg == 'username already exist') alert(msg);
}
但是这太粗糙了,如果你计划进一步开发这个JSON的文章,那么你可以使用json与服务器端进行通信。而且你应该尝试使用一些默认的错误控制,比如使用php返回一个数组:
echo json_encode(array('error' => true, 'notice' => 'username exists'));
然后在javascript端(jquery),使用json ajax请求并始终检查错误变量是否为true,如果是,则可以使用默认函数进行错误控制。
希望这会有所帮助。
答案 1 :(得分:0)
$(document).ready(function () {
$("form#regist").submit(function () {
var str = $("#regist").serialize();
$.ajax({
type: "POST",
url: "submit1.php",
data: $("#regist").serialize(),
success: function (msg) {
alert(msg);
}
});
return false;
});
});
这里从服务器端发送消息并显示它,我如何显示它:)
答案 2 :(得分:0)
在你做过的函数定义中: 成功:function(){ 引入一个参数,如:success:function(retVal){
现在在函数中,您可以检查retVal的值。 比如,您从PHP脚本返回,“成功”表示成功案例,“此电子邮件存在”表示失败。 现在你可以在这里直接比较它,做任何你想做的事,比如:
if(retVal =='此电子邮件存在') { window.alert('请重新输入电子邮件,此记录存在!'); }
依旧...... 希望这会有所帮助。