无效JSON与jquery, ajax和TYPO3


Invalid JSON with jquery, ajax and TYPO3

发送ajax请求时,我得到以下错误消息:

Invalid JSON: {"html":"","jobNum":"0"}<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"><html><head><title></title></head><body></body></html>     

所以json_encode在对象后面附加了一段html。这真的很烦人,因为几分钟前一切都很好,直到我清除了TYPO3中的所有缓存和临时文件。

你可能从你返回这个自定义扩展/插件我假设?

可能发生的事情是Typo3通过Typoscript呈现页面。当该页面上的所有插件都被调用后,会发生这种情况。

现在,如果你只有一个插件需要调用该页面,它需要输出json,那么下面的解决方案是最简单的:

exit(json_encode(array('html'=> '', 'jobNum' => '0')));

另一种方法是在输出这个插件的页面上有一个单独的Typoscript模板。如果你愿意的话,我也可以帮你。

已解决。问题是我安装并配置了"tidy"来清理前端的HTML代码。

您的JSON响应不仅包含(有效的JSON),还包含原始的基本HTML基础框架。找出哪一行代码输出

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title></title></head><body></body></html>

并禁用/删除JSON输出代码中的该行