我向一个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
}