我是新来laravel并没有得到与AJAX太多的经验无论是。我一直在挣扎了几天的一个问题,我希望有人能指出我在正确的方向。
我使用chart.js之和在一个视图中的谷歌地图API。一切都初始化细所以没有问题存在。我已经绘在地图上的几个标记,并在chart.js之加载的数据集。我想点击一个标记时,在chart.js之加载新的数据集。我试图通过使用AJAX调用另一个数据集中控制器功能。没有错误返回,从AJAX调用控制台日志是工作,但在MapController的功能不会被调用。
我试图做邮差/地图路线上的POST,这似乎工作确定。
AJAX调用的视图
$.ajax({
url: "/map",
type: "POST",
data: "",
headers: {"X-CSRF-TOKEN": $("meta[name="csrf-token"]").attr("content")},
success: console.log("AJAX END")
});
路线
Route::post('/map', 'MapController@NewChart');
控制器功能
public function NewChart()
{
echo "<script>console.log('NewChart function called');</script>";
$chart = new chart;
$chart->labels(['Q1', 'Q2', 'Q3', 'Q4']);
$chart->dataset('2019', 'line', [100, 10, 4, 10]);
$chart->dataset('2018', 'line', [5, 5, 5, 5]);
return view('map', ['chart' => $chart]);
}
没有被触发从NewChart功能控制台日志,以便AJAX调用从未达到的功能。
我希望有人能告诉我什么,我做错了。
请尝试使用下面的结构为您的Ajax请求:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: "/map",
type: 'POST',
data: {},
success: function (data) {
console.log("AJAX END");
}
});
也许有只是你的调试"<script>console.log('NewChart funtion called');</script>"
一个问题,但一切工作正常。只是尝试使用返回的数据。
success: function (data) {
$('#someDiv').html(data);
}