AJAX - 为什么页面重定向失败?

时间:2017-03-06 15:11:15

标签: javascript php jquery ajax

我这里有问题。我使用$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语句没有被执行。这里出了什么问题?

2 个答案:

答案 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。