[英]Uncaught SyntaxError: Unexpected token when using jQuery Ajax in Codeigniter
[英]what error is this Uncaught SyntaxError: Unexpected token < when using eval in jquery?
我有一個簡單的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
。 請在這里發布data
。
你期望作為數據返回什么? 運行eval會嘗試執行(數據),這似乎不是正確的javascript。 如果您只想存儲字符串,則可以執行以下操作:
var json = "(" + data + ")";
jholloman幾乎擁有它......
var json = eval("(" + data.responseText + ")");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.