【问题标题】:Store PhP variable in JavaScript variable将 PhP 变量存储在 JavaScript 变量中
【发布时间】:2021-06-22 07:18:05
【问题描述】:

我是 Web 开发的新手,我正在开发一个使用 TALL 堆栈的项目:

  • Laravel 混合;
  • Livewire;
  • AlpineJS 和;
  • TailwindCSS.

我想获取一个 PhP 变量并将其存储在一个 JavaScript 变量中,这样我就可以用它来做 jQuery/JavaScript 的事情了。

PhP 变量是<?php Auth::user()->kyc_status ?>,我想将它存储在一个名为kycStatus 的JavaScript 变量中。这个想法可以用let kycStatus = <?php Auth::user()->kyc_status ?>

之类的东西来表示

提前致谢。

【问题讨论】:

  • 把你的 PHP 数据放在一个 html 数据属性中,然后用 javascript 获取它。

标签: javascript php laravel laravel-livewire alpine.js


【解决方案1】:
<script>
    let kycStatus = {{ Auth::user()->kyc_status }}
</script>

【讨论】:

  • 如果它是一个字符串,你可能需要引用它,let kycStatus = '{{ Auth::user()-&gt;kyc_status }}';
  • 我觉得不需要引号,{{}}代表一个变量,你不要把引号放在像'$variable'这样的变量上,如果变量是字符串类型,那么kycStatus会得到字符串类型
  • 引用是为了让 JS 知道它是一个字符串,看看我在评论中把引号放在哪里
  • 如果您认为这个答案有帮助,请您接受这个答案作为正确答案,在此先感谢
  • 当然,@Jacky.S.我正要这样做! ;) 你能解释一下做 {!! json_encode(Auth::user()->kyc_status) !!};和'{{ Auth::user()->kyc_status }}'; ?
【解决方案2】:

你可以这样做

<script>    
    var kycStatus = {!! json_encode(Auth::user()->kyc_status) !!};
</script>

或者使用这个 Laravel 包 https://github.com/laracasts/PHP-Vars-To-Js-Transformer 将一些服务器端字符串/数组/集合/任何东西传递给你的 JavaScript。

【讨论】:

  • 还有一个@json刀片指令,laravel.com/docs/8.x/blade#rendering-json
  • 是的 :thumbs_up _
  • 这个解决方案也有效。谢谢@JuniorGantin。做 {!! 有什么区别? json_encode(Auth::user()->kyc_status) !!};和'{{ Auth::user()->kyc_status }}'; ?
猜你喜欢
  • 2011-07-15
  • 2013-08-06
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多