Ajax数据解析

时间:2013-10-15 17:41:57

标签: javascript ajax jquery

我有一个评论页面。通过ajax,向php页面发送请求。 Php然后扫描数据库......通常是标准的逻辑操作。无论如何,我遇到了php

echo '<script>show_info("my_text")</script>';

(show_info - js函数切换信息div并显示我的文本)。 如果一切顺利,DB将传输

echo 'ok';

我的ajax成功

success: function (data) {
  if (data == "ok") {
    document.write ("It's work!");
  };
}

但遗憾的是它不起作用。 也许有必要以某种方式将数据分成两部分,脚本和其他文本。

1 个答案:

答案 0 :(得分:2)

您将响应发送到服务器,并以echo '<script>show_info("my_text")</script>';作为响应。因此,data不会评估为'ok'。

相反,你应该发回一个数组:

$ret = array(
    'script' => 'show_info("my_text")',
    'status' => 'ok'
);
echo json_encode($ret); // <--this should be done after all processing

然后在ajax函数中,您需要添加dataType参数

$.ajax({
    //etc
    dataType: 'json',
    success: function(data){
        if(data.status == 'ok'){
            eval(data.script);
        }
    }
});