gpt4 book ai didi

javascript - 在 ajax symfony 中传递带有参数的 Controller

转载 作者:行者123 更新时间:2023-11-29 21:02:29 25 4
gpt4 key购买 nike

我在 symfony 的电子商务项目中工作。我想显示与每个产品相关的弹出窗口。这个弹出窗口有一个列表选项。因此,为此我喜欢通过 Ajax 将此窗口的 Controller 传递为动态的,为此:

代码 HTML

  {% for  p in products %}
<a id="#basket-modal" href="#" data-id="{{ p.id }}" data-toggle="modal" data-target="{{ modal }}" class="btn btn-primary">
{% endfor %}

脚本

<script type="text/javascript">
$(document).ready(function(){

$("#basket-modal").on({ click: function() {


var op_prod_id = $(this).data('id');

$.ajax({

url: "{{ path('ajout_prod_panier', {'id': op_prod_id }) }}" ,
type: "POST",
data: "op_prod_id="+op_prod_id,
success: function(data, status, xhr) {
console.log(data);
},
error: function(jqxhr, status, error) {
console.log(error);
}
});
event.stopPropagation();
}
});
});
</script>

总是出现错误信息的问题:

Variable "op_prod_id" does not exist.

在网址中:

"{{ path('ajout_prod_panier', {'id': op_prod_id }) }}"

最佳答案

var op_prod_id = $(this).data('id');是一个js变量。

{{ path('ajout_prod_panier', {'id': op_prod_id }) }} 是一个 Twig 表达式。

尝试这样的事情:

 <a href="#" data-id="{{ p.id }}" data-url={{ path('ajout_prod_panier', {'id': p.id}) }}"  data-toggle="modal" data-target="{{ modal }}" class="basket-modal btn btn-primary">

在你的js中

$(".basket-modal").on({ click: function() {

var op_prod_id = $(this).data('id');
var op_prod_url = $(this).data('url');
....
url: op_prod_url

关于javascript - 在 ajax symfony 中传递带有参数的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811528/

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