我有一个简单的 ajax 调用:
function message(){
$.ajax({
type: "GET",
url: "/file/timestamp="+ timestamp,
async: true,
cache: false,
success: function(data){
var json = eval('('+data+')');
console.log(json);
}
});
}
我得到一个错误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
如果有帮助,这里有一些 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);
}
如果我运行此操作,我会得到 json:{"msg":"message","timestamp":1331599879}
但由于某种原因,响应不是这个而是一些 html
最佳答案
这取决于 data
中的内容。您正在运行 eval
,因此正在运行 data
中的任何内容。请在此处发布数据
。
关于javascript - 这是什么错误 Uncaught SyntaxError : Unexpected token < when using eval in jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676792/