使用symfony,我正在使用bootbox开发以下javascript函数:
function ask_delete(id)
{
bootbox.confirm("Are you sure?", function(result) {
if(result)
{
document.location.href = "{{ path('SomethingBundle_delete', {'id': id}) }}";
}
});
}
我想捕获我的id参数并将其作为参数传递给我的“SomethingBundle_delete”路径。 但是似乎没有定义id。你知道我怎么把它作为论据传递出去吗?
答案 0 :(得分:4)
id
值可用,但您需要将其作为值引用而不是字符串文字
"{{ path('SomethingBundle_delete', {'id': " + id + "}) }}"
答案 1 :(得分:0)
您需要更好地了解服务器端和客户端发生的情况。您的ask-delete
函数称为客户端,因此id
没有可用于路径路径的服务器端解析的值,例如:
document.location.href = "{{ path('SomethingBundle_delete', {'id': id}) }}";
您的误解发生在哪里。 path
函数是一个模板函数,它发生在服务器端之前,在id
被分配值/进入范围之前。
要解决此问题,您需要将代码更改为以下内容:
document.location.href = "/route/path/for/your/" + id;
这里最重要的一课是了解客户端 - 服务器架构的本质,即您的Web应用程序(以及任何网络应用程序)。
答案 2 :(得分:0)