如何取回发送给视图上控制器的ajax请求

时间:2019-02-11 05:08:17

标签: php ajax laravel laravel-5

我有一个表格

<form id="myForm">
    <div class="button dropdown">
      <select name="languageSelected" required="required" id="languageselector">
        <option value="">Select the language</option>
        @foreach($reviewForm_language as $lang)
         <option value="{{$lang->id}}">{{$lang->name}}</option>
        @endforeach
      </select>

    </div>
</form>

根据选择;它发出ajax请求

 <script>    
   $(function() {
    // when select changes
    $('#languageselector').on('change', function() {
        // create data from form input(s)
        let formData = $('#myForm').serialize();

        // send data to your endpoint
        $.ajax({
            url: '/selected/languageId',
            method: 'post',
            data: formData,
            dataType: 'json', 
            success: function(response) {
                console.log(response); 
            }
        });
    });
  });
</script>

路线

Route::post('/selected/languageId','ProfileController@selectedLangId');

在控制器上

public function selectedLangId(Request $request)
{
    \Log::info("Was here");
    return response()->json(['success'=> $request->languageSelected]);
}

到目前为止,效果很好。

如何将$request->languageSelected传递给视图的控制器?我想被分配为要在其他地方使用的PHP变量。

有人吗?

2 个答案:

答案 0 :(得分:0)

您已经通过发送它了 ['success'=> $request->languageSelected]

只需在刀片成功调用时打印它  console.log(response.success);

答案 1 :(得分:0)

如果您要在web.php中注册路由,则需要将VerifyCsrfToken中间件中的网址列入白名单,如下所示

protected $except = [
    'url',
];