2017-11-25 36 views
0

私はajaxを使用して、ユーザーのエントリに基づいてテーブルを更新します。インポートされたjavascriptファイルでlaravelコントローラのデータにアクセスする方法

$('#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ファイルで認識されません。

答えて

0

ブレードテンプレートではないので、javascriptファイルのコントローラデータを使用することはできません。私が通常行うことは、必要なデータを格納するためのページ(またはメタヘッダー)に隠れたフィールドがあり、次にそれらのフィールドからJSファイルから必要な値を取得することです。例:

<input id="user_id" type="hidden" value="{{user_id}}"> 
あなたのjavascriptファイルで

:パス値関数に

sample.jsを作成することによって

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

で、それは単純なテキストだった場合は、このソリューションは動作しますが、時々私は配列を持っています! – samara

0

可能

function runCode(url) { 
    // your code process 
} 

blade.php

... 
include sample.js here 

<script> 
    runCode('{{ $user_id }}'); 
</script> 
関連する問題