如何将PHP变量从Blade格式HTML传递给JavaScript函数


How to pass PHP variable to JavaScript function from Blade format HTML

我正在为我的HTML使用Laravel Blade格式,并且我将多个PHP变量传递给JavaScript函数。问题是传递给 JavaScript 函数的变量可能有特殊字符。

我希望 JavaScript 函数如下所示:

jsFunction("argument1","argument2","argument3")

我得到什么:

jsFunction('argument1','argument2','argument3')

我的刀片格式代码为:

<a href="#" onclick="displayBannerInvoice('{{$bannerProperty->property_id}}','{{ $bannerProperty->id }}','{{$bannerProperty->end_date}}','{{$bannerProperty->no_of_days}}','{{$bannerProperty->total}}','{{$bannerProperty->vat_percentage}}')"></a>

最好的办法是不要重新发明轮子并尝试搜索:)

github上已经有一个软件包 https://github.com/laracasts/PHP-Vars-To-Js-Transformer

它完全符合您的要求。它适用于Laravel 5以及Laravel 4。

这是我如何做到这一点的一个例子。我有一个带有更新按钮的表单,该按钮调用JavaScript函数。

{!! Form::button('Update', array('class' => 'btn btn-success', 'onClick' => 'updateTeamName(' . $team_id . ')')) !!}

我正在将 $team_id 变量(通过控制器方法传递给视图)传递给 JavaScript 函数。

希望这有帮助。

您可以使用以下语法在 laravel blade 中显示 php 变量:

{!! $someVar !!}

例:

console.log( {!! $someVar !!} );

我尝试了很多语法,最后解决了这个问题。这是你的答案:

jsFunction({{"$var1"}}{{","}}{{"$var2"}})