我对jQuery中的string concat感到很奇怪,如下所示:
var name = button.data('name')
var emailName = button.data('email')
var userName = button.data('username')
var userStatus = button.data('active')
var userId = button.data('id')
alert(userId)
var actionUpdate = "{{action('UserController@update', "+userId+")}}"
alert(actionUpdate)
和userId的结果/警报是28723050-71e9-11e7-a0a9-e9f620359699(uuid作为用户ID)但是当我连接/加入时,我得到的actionUpdate变量是{{action('UserController @ update',“userId” }}}而不是{{action('UserController @ update',“28723050-71e9-11e7-a0a9-e9f620359699”)}}正如我所料。
我尝试使用concat或+ =加入这些字符串和变量,但没有得到预期的结果。
非常感谢任何替代方案和解决方案。
答案 0 :(得分:1)
如果由于一些奇怪的原因,你真正想要的是
{{action('UserController@update', "28723050-...9699")}}
围绕UserController@update
的单引号和userId
周围的双引号,我认为您需要
var userId = button.data('id')
alert(userId)
var actionUpdate = "{{action('UserController@update', \""+userId+"\")}}"
alert(actionUpdate)
(即,你需要在连接部分的任一侧添加一个转义的双引号字符。)
答案 1 :(得分:0)
感谢John,关于“转义字符”的想法,这项工作正如我现在预期的那样,我猜“{,{,},}”在JS或Jquery中有特殊含义,因此我将此行写成:< / p>
var actionUpdate =“{{action('UserController @ update','”+ userId +“')}}”
希望对于想要将表单提交操作更改为laravel controller的人来说非常有用。