返回响应() - > json到Laravel View - AJAX

时间:2016-09-22 14:38:33

标签: jquery json ajax laravel-5.2

在AJAX发布请求后,如何在Laravel 5.2刀片视图中访问JSON?好像我的变量

  

{{$ trackedAddress}}

在视图中无法访问,因为它将错误地说它未定义。但是,在我的控制台中,我可以看到点击事件后存在JSON对象。

控制器:

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);
    });
});

1 个答案:

答案 0 :(得分:0)

PHP(以及你的laravel刀片模板)无法访问在页面加载后添加到浏览器页面的变量,因为PHP不会那样工作......在您通过加载新页面发出下一个请求之前它已经死了,或发送AJAX请求。

如果你想在页面上进行实时更改,你必须坚持使用AJAX(如果你需要PHP交互)或javascript / jquery。