jqueryajax请求的控制器路径

jqueryajax请求的控制器路径,jquery,ajax,symfony,Jquery,Ajax,Symfony,在我看来,我在表单提交上有一个表单和一个AJAX事件: var data = { msg1: $("#msg1").val(), msg2: $("#msg1").val(), msg3: $("#msg1").val(), }; $.ajax ({ type: "POST", url: "{{ path('new_chat_m

在我看来,我在表单提交上有一个表单和一个AJAX事件:

        var data = {
            msg1: $("#msg1").val(),
            msg2: $("#msg1").val(),
            msg3: $("#msg1").val(),
        };

        $.ajax ({
            type: "POST",
            url: "{{ path('new_chat_msg') }}",
            data: data,
            complete: function (xhr, result) {
                console.log("ok");
            }
        });
我想呼叫我的控制器,其名称为new_chat_msg:

如您所见,我使用注释进行布线。 new.html.twig是表单所在的视图

但是当我提交表单时,它没有进入方法

所以我不知道如何调用控制器并将JSON数据传递给他

谢谢你的帮助

我想你应该看看这个。 500内部服务器错误通常表示代码中的某个地方有错误的代码,所以我可以说您必须向addMsgChat操作添加操作后缀,就像addMsgChatACtion一样 代码中的另一个错误是,控制器操作必须返回Response对象,所以您需要在操作中至少返回新的响应,以查看它是否工作
p、 s:我建议使用bundle来调用JS文件中的路由。

谢谢xurshid29,我将控制器名称更改为ajaxAction,并返回测试响应。但是问题仍然是一样的…@Macbernie use FOSJsRoutingBundle bundleOk,我做了,但是bundle路由生成的路径。generate'new_chat_msg'与之前的twig{{path'new_chat_msg'}}相同…@Macbernie好的,你能展示你的整个contoller类吗?@Macbernie-hmm,我在你的控制器类中没有看到任何无效代码,所以我没什么可说的了。。但是,如果我是你,我会做这样的事。检查我是否正确导入了类。2.删除$text=$request->request->get'data';验证错误是否来自该操作。是否导入了?
/**
 * Commande controller.
 *
 * @Route("/commande")
 */
class CommandeController extends Controller
{

    /**
     * Flush new chat message.
     *
     * @Route("/", name="new_chat_msg", options={"expose"=true})
     */
    public function ajaxAction(Request $request)
    {
        $text = $request->request->get('data');

        return new Response('Hello world!');
    }

}