我在Cakephp 3项目中使用这个库:https://github.com/simon-begin/cakephp-datatables与composer。当我调用drawTable函数,我有这个错误:
Uncaught SyntaxError: Unexpected end of input
在浏览器上加载的文件(cakephp.dataTables.js)上,我可以看到在文件的开头添加了一个新的空白行,并删除了最后一个字符。
我没有这个错误如果:
- 我在javaScript文件的末尾添加了一个新的空白行(在vendor/simon-begin/cakephp-datatables/cakephp.dataTables.js上,这只是为了测试目的)
我将js文件复制到另一个文件夹中,并像这样包含它:
<?= $this->Html->script( [ 'datatables/jquery.dataTables.min', 'datatables/dataTables.bootstrap.min', 'newfolder/cakephp.dataTables', ], ['block' => 'scriptBottom'] ); ?>
代替:
<?= $this->Html->script( [ 'datatables/jquery.dataTables.min', 'datatables/dataTables.bootstrap.min', 'DataTables.cakephp.dataTables', ], ['block' => 'scriptBottom'] ); ?>
你可以看到这个错误:https://maisonlogiciellibre.org/organizations
所以我想知道是什么导致这个错误,以及如何正确地修复它
您可能在涉及的.php
文件开头的某个地方有空白。
不像常规的应用程序资产,它是由服务器直接处理而不需要点击PHP,插件资产默认情况下是通过CakePHP提供的,因此这样的错误会影响输出,因为Content-Length
头是根据资产文件大小设置的,导致额外的字节(s)的空白从响应体的末尾被截断。