I have a simple ajax call:
function message(){ $.ajax({ type: "GET", url: "/file/timestamp="+ timestamp, async: true, cache: false, success: function(data){ var json = eval('('+data+')'); console.log(json); } }); }
and I get the error Uncaught SyntaxError: Unexpected token < on this line: var json = eval('('+data+')');
any ideas?
thanks.
edit: some error details:
$.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
here are some php if helps
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); }
If I run this action, I get json: {"msg":"message","timestamp":1331599879} , but for some reason the answer is not that, but some html
source share