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



我向一个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元素中,所以if条件被执行,尽管返回的数据=OK

我也试过:

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

但也不起作用。

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

您可以执行以下操作:

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
}

最新更新