2016-09-22 69 views
0

如何在AJAX發佈請求後訪問Laravel 5.2刀片視圖中的JSON?它好像我的變量return response() - > json to Laravel View - AJAX

{{$ trackedAddress}}

不是該視圖中訪問,因爲它會錯誤說,這是不確定的。但是,在我的控制檯中,我可以看到JSON對象在click事件之後存在。

控制器:

public function postModalChart(Request $request) 
{ 
    $task_address = $request['taskAddress']; 
    $task_city = $request['taskCity']; 

    $user = Auth::user(); 
    $userId = $user->id; 

    $trackedAddress = DB::table('tasks') 
     ->join('soldhomestest', function ($join) { 
      $join->on('tasks.address', '=', 'soldhomestest.address') 
       ->on('tasks.city','=','soldhomestest.city'); 
     }) 
     ->where([ 
      ['user_id', '=', $userId], 
      ['tasks.address', '=', $task_address], 
      ['tasks.city', '=', $task_city], 
     ]) 
     ->get(); 

    return response()->json($trackedAddress); 
} 

JQuery的:

$('.trackedAddress').on('click', function(event) { 
    event.preventDefault(); 
    var self = $(this), 
    taskAddress = self.data('address'); 
    taskCity = self.data('city'); 
    var target = self.data('target'); 
    $.ajax({ 
     method: 'POST', 
     url: 'postModalChart', 
     dataType: 'json', 
     data: {taskAddress: taskAddress, taskCity: taskCity, _token: token}, 
    }) 
    .done(function(data) { 
     console.log(data); 
     $('#'+target).val(data); 
    }); 
}); 
+0

如果您使用AJAX調用,並且可以在控制檯中看到預期的JSON響應,那麼它對我來說看起來很好,但在這種情況下視圖來自何處?對不起,但困惑! –

+0

我希望能夠將查詢結果顯示在視圖中,但當我嘗試顯示它時,$ trackedAddress未定義。 –

+0

我正在使用錯誤的方法.... –

回答

0

PHP(等你laravel刀模板)已添加到您的瀏覽器頁面加載頁面後着訪問變量,因爲PHP不會這樣工作......直到你通過加載新頁面或發送AJAX請求發出下一個請求時,它纔會死機。

如果您想在頁面上進行實時更改,您必須堅持使用AJAX(如果您需要PHP交互)或javascript/jquery。

+0

這很有道理。 –