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

Javascript 如何从ajax请求中检查php文件返回的数据?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我向一个php文件发送一个post请求,其中包含一些数据: function addNewPost(){ $.post('create_post.php', {}, function(data){ if(data != 'OK'){ $('.errorMsg').html(data); }else{ alert('Well Done! Post Is Added

我向一个php文件发送一个post请求,其中包含一些数据:

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);
}
但也不管用

怎么了?我应该设置特定的数据类型吗?我是否应该将
echo
替换为
return

您可以执行以下操作:

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
}
您可以执行以下操作:

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
}

返回应该可以解决您的问题。。在这篇文章中的解释应该可以解决你的问题。。这篇文章中的解释-