jQuery连接错误

时间:2017-09-02 08:52:26

标签: jquery laravel

我正在尝试使用jQuery动态构建一个laravel url。在onclick事件中运行的代码如下:

var tt = $(this).val();
var EditUrl = '{{ url("/productionentry/' + tt + '/edit") }}';
console.log(tt + EditUrl);

控制台中的输出是

11http://localhost/pms/public/productionentry/' + tt + '/edit

正如您所看到的,我得到tt而不是其值(11)。我不知道为什么。我已经尝试将单引号更改为double和double to single。它不起作用。

1 个答案:

答案 0 :(得分:1)

那么,这里发生了什么。 Laravel允许您将PHP代码放在模板中,并根据请求解析它。

var tt = $(this).val();
var EditUrl = '{{ url("/productionentry/' + tt + '/edit") }}';
console.log(tt + EditUrl);

由PHP解析后将变为

var tt = $(this).val();
var EditUrl = 'http://localhost/pms/public/productionentry/' + tt + '/edit';
console.log(tt + EditUrl);

这里的问题是函数url()将用HTML字符替换单个AND双引号。因此,让url()返回与您的tt的javascript插入兼容的结果将非常困难。如果javascript运行此结果,它将写入控制台:

11http://localhost/pms/public/productionentry/' + tt + '/edit

那你能做什么?您可以在URL中插入占位符,该占位符是唯一的,并由具有实际值的javascript替换。

var tt = $(this).val();
var EditUrl = '{{ url("/productionentry/:insertID:/edit") }}';
EditUrl = EditUrl.replace(':insertID:', tt);
console.log( EditUrl);

应返回

http://localhost/pms/public/productionentry/11/edit

注意:未经测试但我希望您明白