gpt4 book ai didi

javascript - Ajax with twig,它是如何工作的?

转载 作者:行者123 更新时间:2023-12-01 03:41:52 25 4
gpt4 key购买 nike

从我的 Controller 中,我在 html.twig 中发送了几个参数,然后我想发出一个像这样的 AJAX 请求:

{% if text is defined %}
var text = {{ text }};
var sender = {{ sender }};
var date_send = {{ date_send|date('d/m/Y') }};
var mess_type = {{ mess_type }};
var to = {{ to }};

$.post('send.php', {text:text, sender:sender, date_send:date_send, mess_type:mess_type, to:to}, function(data)
{
$('#Map').text(data);
});
{% endif %}

所以当我这样做时,我遇到了这个错误:

POST http://localhost:8000/send.php 500 (Internal Server Error)

我的 send.php 是我的 html.twig 所在的位置。我的 send.php 中只有一个 echo“hi”用于测试,但它不显示任何内容。

我还尝试在我的 Controller 中添加发送功能:

/**
* @Route("/send.php", name="send")
*/
public function send(Request $request) {
dump("hi");
echo "send";
return null;
}

我在 html.twig 中将 'send.php' 替换为 {{path('send.php')}} (在$.post()内)。我知道我不能返回 null,但它不显示我的转储。我有这个错误:

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "/send" as such route does not exist.")

它并没有让我到达/send.php。我不知道我会错过什么,我在谷歌上没有找到任何解决方案。感谢您的帮助。

最佳答案

Controller 的方法应该返回一个 Response 对象,所以试试这个:

/**
* @Route("/send.php", name="send")
*/
public function send(Request $request)
{
return new Response('send');
}

twig 路径函数需要路由名称而不是路径,因此请尝试以下操作:

{{path('send')}}

希望这有帮助

注意:我为了识别真正的错误消息,尝试将网址放入浏览器中,看看会发生什么

关于javascript - Ajax with twig,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43818306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com