这是我第一次在 Symfony 环境中涉足 Ajax,我可能对代码的组织方式有些困惑。
假设我的 ajax 调用如下所示:
$.getJSON('module/getMeSomeJSONThroughAjax', function(data) {console.log(data); } )
在我的模块/操作文件夹中,actions.class.php 文件有一个方法:
public function getMeSomeJSONThroughAjax()
{
// do something
return $jsonEncodedString;
}
请记住,我是not creating a template for the above method
,因此我没有大多数其他操作那样的执行前缀。只是因为我不认为创建模板对于仅获取 AJAX HTTP 请求的 JSON 数据是一种过度杀伤的情况。
但是,当我的浏览器中发生触发 Ajax 调用的事件时,我的控制台会记录以下内容:
> Failed to load resource: the server responded with a status of 404
> (Not Found)
> http://localhost:8080/customerview_dev.php/flashcard/getMeSomeJSONThroughAjax
我认为这是一个路由问题。简单地摆脱问题的一种可能方法是为上述创建一个模板并将 Action 重命名为executeGetMeSomeJsonThroughAjax()
. 但就像我提到的那样,恕我直言,这太过分了,必须有一种更美观、更恰当的方式来完成这项工作。
你们 Symfonians 为进行 Ajax 调用做了什么?