假设这是一个JS代码,我想打印id
的值。这里的id是一个变量,其值接收到jq函数中。
function follow_or_unfollow(id,action){
myUrl = "{{ action('FollowsController@show', 'id') }}" ;
}
如果我们支持'id'
,它会显示id字符串。
PS。这里{{正在使用它在刀片模板中的PHP代码。
现在我需要在php代码中打印脚本变量。
答案 0 :(得分:2)
我担心你所要求的是不可能的。 JavaScript的简单原因是客户端,PHP是服务器端。
您始终可以将PHP代码放在JavaScript中,因为它只会在那里回显,并且不会立即运行。而如果您想在PHP中使用JavaScript变量,那意味着您正在尝试访问在服务器处理请求时甚至不存在的变量。
有一个解决方法。您可以将JS中所需的数据作为参数传递到URL中,然后使用$_GET
在PHP中获取这些值。
答案 1 :(得分:1)
可能已经晚了,但我想我有解决方案。你的代码
myUrl = "{{ action('FollowsController@show', 'id') }}" ;
在javascript块内。因此刀片解析器使用括号作为javascript对象而不是刀片变量。所以你不能在脚本块中使用任何PHP变量。在我的解决方案中,我会用以下内容替换你的行:
myUrl = "@include("public.default.js_values.myUrl")" ;
然后创建该模板文件
(in your views folder)/public/default/js_values/myUrl.blade.php
并在该文件中添加一行
{{ action('FollowsController@show', 'id') }}
这样,刀片解析器将包含myUrl.blade.php上的内容。在文件中将正确解析括号中的变量,并将php变量的值(在您的情况下为方法)返回给javascript。
我已经在类似情况下对此进行了测试,但它确实有效。
答案 2 :(得分:0)
只需使用{!! $ vars !!}。
var link = {!! "'".url('string/'.$vars.'/string')."'" !!};