在 jquery 中使用 eval 时,Uncaught SyntaxError: Unexpected token < 是什么错误?

Pat*_*cow 5 javascript ajax jquery syntax-error

我有一个简单的ajax调用:

function message(){
    $.ajax({
        type: "GET",
        url: "/file/timestamp="+ timestamp,
        async: true,
        cache: false,
        success: function(data){
            var json = eval('('+data+')');
            console.log(json);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

Uncaught SyntaxError: Unexpected token <在这一行收到一个错误:var json = eval('('+data+')');

有任何想法吗?

谢谢。

编辑:错误中的更多详细信息:

$.ajax.successajax.js:9
f.Callbacks.njquery.js:2
f.Callbacks.o.fireWithjquery.js:2
wjquery.js:4
f.support.ajax.f.ajaxTransport.send.d
Run Code Online (Sandbox Code Playgroud)

如果有帮助,这里有一些 php

public function fileAction()
{
    $this->getHelper('viewRenderer')->setNoRender();

    $filename = '/test/text.txt';

    $front  = Zend_Controller_Front::getInstance();
    $data   = $front->getRequest()->getParams();

    $lastModif      = !empty($data['timestamp']) ? $data['timestamp'] : 0;
    $currentModif   = filemtime($filename);

    while($currentModif <= $lastModif){
        usleep(10000);
        clearstatcache();
        $currentModif = filemtime($filename);
    }

    $response = array();
    $response['msg'] = file_get_contents($filename);
    $response['timestamp'] = $currentModif;

    echo json_encode($response);
}
Run Code Online (Sandbox Code Playgroud)

如果我运行这个动作,我会得到 json:{"msg":"message","timestamp":1331599879}但由于某种原因,响应不是这个而是一些 html

Man*_*rth 2

这取决于里面有什么data。你在运行eval,所以里面的东西都data在运行。请张贴在data这里,。