Php 在AJAX中检索响应文本
我已经向AJAX发送了一个数组,以便在执行查询时返回状态Php 在AJAX中检索响应文本,php,jquery,ajax,Php,Jquery,Ajax,我已经向AJAX发送了一个数组,以便在执行查询时返回状态 if(mysqli_query($dbconfig,"INSERT INTO todo(description) values('$desc')")){ $response['success']="true"; } header('Content-type: application/json'); echo json_encode($response); 在客户端脚本中,我尝试使用以下代码根据状态显示消息 if(resp
if(mysqli_query($dbconfig,"INSERT INTO todo(description) values('$desc')")){
$response['success']="true";
}
header('Content-type: application/json');
echo json_encode($response);
在客户端脚本中,我尝试使用以下代码根据状态显示消息
if(response.status=="success"){
alertify.success("New item has been added successfully");
}else if(response.status=="error"){
alertify.error("Error while adding the item");
}
即使查询运行正确,也不能同时满足这两种情况。在我的控制台日志中,状态显示成功
根据您提供的代码,您可以做两件事
if(response.status === 200){
//handle success
} else {
//handle error
}
或者,如果您愿意,您可以尝试:
var status = JSON.parse(response.responseText);
if(status.status === "success"){
//handle success
}else{
//handle error
}
您正在打印的对象是在成功处理程序中得到的吗???@r1verside抱歉,我没有得到成功处理程序是什么。我只是做了console.logresponse;其中response是函数的参数。由于AJAX请求是异步的,所以成功处理程序是传递给请求代码的函数,当服务器响应您的请求时将执行该函数。我想这就是您编写console.logresponse的地方。如果是这样的话,我在回答中提供的两种解决方案中的任何一种都应该符合trickI尝试过的两种方法。如果您在结果操作处理程序中放置了console.logresponse,并且结果是您在问题中粘贴的内容,则它将在else条件下运行,即使状态为successIt也没有意义。它必须起作用。您是否尝试在第二个选项中使用@SuresPokharel出现错误,我在responseText中比较了对象,而不是它的status属性