gpt4 book ai didi

jquery - 如何将 twig {{path ('' )}} 调用渲染为 jquery ajax url

转载 作者:行者123 更新时间:2023-12-01 02:00:47 27 4
gpt4 key购买 nike

我正在使用来自模式框的ajax请求将数据保存在我的symfony2应用程序中。当模态框被调用时,模态标记被渲染。所以我不能真正在模式框标记中的任何地方使用“”符号。

我的代码是:

var path = {{ path('_inserttask') }};
$.ajax({
type: 'POST',
url: path,
data: { myid: 123456 },
success: function(data) {
$('#mask , .login-popup').fadeOut(300 , function() {
$('#mask').remove();
});
}
});

调用 ajax 时,控制台会出现错误。我发现如果我使用硬编码的 url - 它会起作用!但是使用 {{ path('_inserttask') }} 作为 url 会出错。我知道这是为了我没有使用的引号。如何解决问题?它已经消磨了 2 个小时:-(

最佳答案

从上面我看到你没有在路径变量的值上加上双引号。试试这个 -

var path = "{{ path('_inserttask') }}";
$.ajax({
type: 'POST',
url: path,
data: { myid: 123456 },
success: function(data) {
$('#mask , .login-popup').fadeOut(300 , function() {
$('#mask').remove();
});
}
});

再想一想,您将此脚本嵌入到 twig 模板中,该模板稍后将渲染为 html,然后发送到浏览器,对吧?如果是,我认为上述更改将解决该问题。

如果您尝试在纯 JavaScript 文件中使用 twig。我认为这不会起作用。如果你这样做的话。我认为你尝试将路径值放入 html 中,然后使用 javascript 获取该值,然后调用 ajax。例如。我会选择将该路径 url 嵌入到 div 的属性之一中。

在我的 Twig 模板文件中(例如index.html.twig)

<div id="abc" data-path="{{path('_inserttask')}}">
</div>

在我的 javascript 文件中(例如 abc.js)

var path = $("#abc").attr("data-path");
$.ajax({
type: 'POST',
url: path,
data: { myid: 123456 },
success: function(data) {
$('#mask , .login-popup').fadeOut(300 , function() {
$('#mask').remove();
});
}
});

关于jquery - 如何将 twig {{path ('' )}} 调用渲染为 jquery ajax url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448563/

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