我使用单个输入的表单使用AJAX发布到服务器。我计划取输入值作为字符串,并检查字符串是否已存在于数据库中。我将in_array()
,如果字符串不存在,请将其插入数据库并回显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();
}
由于
答案 0 :(得分:1)
我本可以在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)
然后将json解码为javascript中的对象:
success: function(result){
result = jQuery.parseJSON(result)
// you can also use eval(result) , but it's much slower.
if(result.exists == 'false'){
// string was inserted to db
}else{
// duplicate exists
exit();
}
答案 1 :(得分:0)
您可以使用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
});