我这里有问题。我使用$ajax
发布数据来更新MySQL表。更新逻辑很好。
PHP Snipet
$count=$stmnt->rowCount();
if ($count==1){
$output=array('op'=>'tt');
echo json_encode($output);
}else{
$output=array('op'=>'ff');
echo json_encode($output);
}
JS代码
success: function(data) {
console.log(data);//On update, this is printing{"op":"tt"}
if (data.op ==='tt') {
console.log(data);//this is not executing.
window.location.href= 'post.php'
}else{
alert("Error!");
}
}
我意识到我的if
语句没有被执行。这里出了什么问题?
答案 0 :(得分:1)
你应该首先解析json,然后才能从中获取纯文本。
var result = jquery.parseJSON(data);
if (result.op == 'tt') {
...
}
答案 1 :(得分:1)
默认情况下,没有dataType
的{{3}}会尝试根据MIME类型设置响应。
如果你有一个字符串,你可以手动解析它,即:
success: function(data) {
data = $.parseJSON(data);
或者您可以为$ .ajax请求指定要用于jquery的dataType。