如何在导入的javascript文件中访问laravel控制器数据

时间:2017-11-25 09:17:36

标签: javascript php ajax laravel controller

我使用ajax根据用户的条目更新表。

 $('#user').change(function(){
var user= $("#user").val();
if (user !='None'){
  $.ajax({
      type: "GET",
      url: '/getUserAccounts/' + user,
      success: function (data) {
          $.each(opts, function(i, d) {
            console.log(d);
          });

      },
      error: function (data) {
          console.log('Error:', data);
      }
  });
}

});

我在<script>标记中编写代码,一切正常。现在我更喜欢在文件中组织javascript代码并将它们导入我的.blade.php文件。 问题:从我的javascript文件中无法识别从控制器传递的数据。

2 个答案:

答案 0 :(得分:0)

无法使用javascript文件中的控制器数据,因为它们不是刀片模板。我通常做的是在页面上有一个隐藏字段(或元标题),允许我存储我需要的数据,然后从这些字段中获取我想要的JS文件值,例如:

<input id="user_id" type="hidden" value="{{user_id}}">

在您的javascript文件中:

var user_id = $("#user_id").val();

答案 1 :(得分:0)

可以通过创建传递值函数

来实现

sample.js

function runCode(url) {
   // your code process
}
在blade.php中

...
include sample.js here

<script>
   runCode('{{ $user_id }}');
</script>