Php AJAX post使用响应后的条件if语句,可以吗?
我使用的一个表单只需一次输入,就可以使用AJAX发布到服务器。我计划获取输入的字符串值,并检查数据库中是否已经存在该字符串。我将在_array()中为我们提供Php AJAX post使用响应后的条件if语句,可以吗?,php,ajax,if-statement,Php,Ajax,If Statement,我使用的一个表单只需一次输入,就可以使用AJAX发布到服务器。我计划获取输入的字符串值,并检查数据库中是否已经存在该字符串。我将在_array()中为我们提供,,如果字符串不存在,则将其插入数据库并回显1,如果重复,则回显0,结果返回1或0 在我的AJAX中,我在成功时使用这个简单的函数,如果结果返回1,我将使用jQuery显示成功消息,否则我将显示错误并退出。通过返回1或0和exit()是否重复 success: function(result) { if(resu
,
,如果字符串不存在,则将其插入数据库并回显1,如果重复,则回显0,结果返回1或0
在我的AJAX中,我在成功时使用这个简单的函数,如果结果返回1,我将使用jQuery显示成功消息,否则我将显示错误并退出。通过返回1或0和exit()代码>是否重复
success: function(result)
{
if(result == 1)
{ string was inserted to db }
else
{
duplicate exists
exit();
}
谢谢我个人会在php中这样做,我返回一个json编码的标识数组,其中包含一些关于响应的信息。我通常包含比需要更多的信息,用于调试目的和将来可能的更改
if($results >= 1){
$duplicate_exists = 'true';
}elseif($results < 1){
$duplicate_exists = 'false';
};
$result = array(
'exists' => $duplicate_exists ,
'status' => $status,
'time' => time()
// etc
);
echo json_encode($result)
您可以使用以下代码使用AJAX
和JS
发布和检索结果
$.ajax({
url: 'https://api.github.com/gists',
type: 'POST',
dataType: 'json',
data: JSON.stringify(data)
})
.success( function(e) {
res = jQuery.parseJSON(e);
if(res.exists == 'false'){
// string was inserted to db
}
else if(res.exists == 'true'){
// duplicate exists
exit();
}
})
.error( function(e) {
//there was error
});
@如果我不使用exit(),则使用DrixsonOseña;表单将继续提交AJAX请求,即使返回0也是如此。您可以使用event.preventDefault()
不允许您提交表单,只允许ajax运行。这就是你需要的吗?@DrixsonOseña不,我的javascript中已经有了这一点。那么你是说你的ajax中有错误吗?Jack在my.ajax()中,我有数据:serializedData。因此,在服务器上,我可以将结果编码为json。然后在success函数中,我可以解析json响应?是的。如果您在success中执行了console.log(result)
,那么请检查您的javascript控制台,它应该是一个json字符串。如果您使用该字符串并eval()
或jQuery.parseJSON()
它,它将把它变成一个对象。非常感谢,我正在查看jQuery的文档,了解它返回的成功设置和数据表单,但不确定如何使用它们。与其在javascript中使用}否则{
,我认为最好使用}else if(result.exists==“true”){
。既然您要告诉用户有一个重复项,那么您应该在编码中指定它是重复项,因为当发生其他不是这两件事的事情时,它不应该返回到重复错误。之所以status为null,是因为php文件中没有定义$status
。results.exist
是一个字符串。您可以使用“apple”和“pear”来代替“true”和“false”,它的运行方式完全相同。您在php文件中放入该数组的任何内容都将成为对象结果的一部分。您可以在其中命名任何内容。如果需要,您可以放入数千个字符长的字符串。
$.ajax({
url: 'https://api.github.com/gists',
type: 'POST',
dataType: 'json',
data: JSON.stringify(data)
})
.success( function(e) {
res = jQuery.parseJSON(e);
if(res.exists == 'false'){
// string was inserted to db
}
else if(res.exists == 'true'){
// duplicate exists
exit();
}
})
.error( function(e) {
//there was error
});