如何检查从ajax请求的php文件返回的数据?

时间:2018-07-10 08:24:54

标签: javascript php jquery html ajax

我将带有一些数据的发帖请求发送到php文件:

function addNewPost(){
    $.post('create_post.php', {},
        function(data){
            if(data != 'OK'){
                $('.errorMsg').html(data);
            }else{
                alert('Well Done! Post Is Added Successfully');
            }
         },
    );
}

$(document).on("click",'#create', addNewPost);

php文件连接数据库并将数据插入数据库,如果成功插入数据,文件将返回OK

$st = $conn->prepare('INSERT INTO  posts() VALUES(?, ?, ?, ?, ?)');
$st->execute(); 
if ($st) {
    echo 'OK';
}

它返回OK,但是它被添加到errorMsg元素中,因此尽管返回的数据= OK,但是if条件仍然被执行。

我也尝试过:

if(data == 'OK'){
    alert('Success');
}else{
    $('.errorMsg').html(data);
}

但两者都不起作用。

怎么了?我应该设置特定的dataType吗?我应该将echo替换为return吗?

1 个答案:

答案 0 :(得分:3)

您可以这样做:

if ($st) {
        echo 'OK';exit;
   }else{
    echo false;exit;
   }

或尝试以下操作:

if ($st) {
        echo json_encode(array("message"=>"OK"));exit;
   }else{
    echo json_encode(array("message"=>false));exit;
   }

在js文件中:

var jsonResp = $.parseJSON(data);
if(jsonResp.message == 'OK'){
    alert('Success');
}else{
  // else case
}