我有一个奇怪的情况,我不太确定从哪里开始寻找。我的前端有一个knockout.js表格,后端有CakePHP。
截至目前,我将一些来自knockout.js表单的JSON数据发送到CakePHP。这个PHP做了一些处理,然后将JSON格式的结果回显到淘汰的javascript文件。
嗯,问题是当我通过CakePHP进行这个PHP设置时,它似乎只能工作1/4的时间。当我在我的webroot中有这个PHP文件时(只是一个标准文件,与Cake无关,因为淘汰赛毕竟是后端不可知的)它可以100%的时间工作。
所以这是两个数据流
Fails frequently: knockout.html -> knockout.js -> CakePHP Controller -> echo in CakePHP view-> knockout.js -> knockout.html
Works 100%: knockout.html -> knockout.js -> PHP in webroot, echo from the same page -> knockout.js -> knockout.html
我只是在我的webroot中使用PHP文件,但是我必须在数据库中查询一些内容,并且我希望将所有查询保留到Cake而不是外部源。
CakePHP方法可能花费的时间太长而且失败了,因为它没有足够快地得到结果吗?
编辑 - 我更改了控制器,因此没有计算,它只是将一些JSON编码的文本传递给视图。这不会产生任何错误,并且100%的时间都在工作。那么,说CakePHP花费太长导致错误是否安全?我理解一个框架需要的时间比普通的PHP要长,但为什么会导致它失败呢?我没有做任何激烈的计算。
答案 0 :(得分:0)
我让它以非常迂回的方式工作。它现在100%的工作,但我不满意我必须这样做。
正如我解释的那样,我在ItemsController中使用PHPQuery。我采用了所有这些逻辑,并完全在蛋糕结构之外和我的webroot中创建了一个单独的PHP文件。因此,不是敲门调用我的ItemsController函数进行相应的操作,而是调用webroot中的文件。从这个文件中我访问数据库,查找我需要的内容,然后执行PHPQuery任务。
很奇怪。在CakePHP之外100%工作。在CakePHP函数中使用时,失败的时间超过50%。我不明白,但至少它正在发挥作用。