AJAX发布后使用响应的条件if语句,这样可以吗?

时间:2013-08-16 05:57:42

标签: php ajax if-statement

我使用单个输入的表单使用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();
      }

由于

2 个答案:

答案 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)

您可以使用AJAXJS使用以下代码发布和检索结果。

$.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

      });