简体   繁体   English

在 laravel 语法错误中将 php 变量传递给 javascript

[英]Passing php variables to javascript in laravel syntax errors

Question 1) When passing PHP variables to be used in javascript if the variables hold an array, it will result in an error relating to the attempted conversion of array to string when trying to pass these values in the following manner.问题 1) 当传递 PHP 变量以在 javascript 中使用时,如果变量包含一个数组,当尝试以以下方式传递这些值时,将导致与尝试将数组转换为字符串相关的错误。 Why do I have to json encode the value before it works when $var itself is already an array?当 $var 本身已经是一个数组时,为什么我必须对值进行 json 编码才能起作用?

PHP Code PHP 代码

$var = ['test'];

Javascript Javascript

Let var = {!!$var!!};

Solution解决方案

Let var = {!!json_encode($var)!!} 

Question 2 when passing PHP variables that may have the value of null to javascript, it may result in a syntax error.问题2 将PHP可能值为null的变量传递给javascript时,可能会出现语法错误。 For example,例如,

PHP Code PHP 代码

$var = null;

Javascript Javascript

Let var = {{$var}};

Error错误

Var = ; (Syntax error)

Failed Solution失败的解决方案

if({{$var}}){
    let var = {{$var}};

Solution解决方案

Let var = '{{$var');

Why does my attempted solution of only setting the value of the var when $var has a value fails?为什么我尝试的仅在 $var 具有值时设置 var 值的解决方案失败了?

simply put laravel echo in doouble quote只需将 laravel echo 放在双引号中

<script>
 let var1="{{$var}}";
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM