Javascript 如何从ajax请求中检查php文件返回的数据?
我向一个php文件发送一个post请求,其中包含一些数据: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
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
}
返回应该可以解决您的问题。。在这篇文章中的解释应该可以解决你的问题。。这篇文章中的解释-