在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);
});
});
答案 0 :(得分:0)
PHP(以及你的laravel刀片模板)无法访问在页面加载后添加到浏览器页面的变量,因为PHP不会那样工作......在您通过加载新页面发出下一个请求之前它已经死了,或发送AJAX请求。
如果你想在页面上进行实时更改,你必须坚持使用AJAX(如果你需要PHP交互)或javascript / jquery。