我将带有一些数据的发帖请求发送到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
吗?
答案 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
}