我正试图在点击按钮时使用ajax获取/刷新数据,这是我到目前为止所尝试的:
HTML
//API URL default
var url = "/api/division/" + {{ $division->id }};
//Data for Map
var dataMap = [];
//Options For Map
var options = {
type: "map",
dataProvider: {
map: "worldLow",
getAreasFromMap: true,
zoomLevel: 0.9,
images: dataMap //Data for Map
},
};
// Run map
AmCharts.makeChart("mapdiv", options, dataMap);
的Javascript
//Run ajax request from button
$(".btn-area").click(function(e) {
var areaId = $(this).attr("data-id");
var url = "/api/division/" + {{$division->id}} + "/" + areaId;
e.preventDefault();
$.ajax({
type: "GET",
url: url,
success: function(data){
for (var i = 0; i < data.length; i++) {
dataMap.push({
"latitude": data[i].cor_x,
"longitude": data[i].cor_y,
});
}
console.log(dataMap); //test in console
},
error: function() {
console.log("error");
}
});
});
当我点击按钮时,ajax中的数据显示在控制台中,但地图数据仍为空
//Route SiteController.php
public function getSiteByDivision($idDiv)
{
$sites = Site::where(['division_id' => $idDiv])->get();
return $sites;
}
public function getSiteByDivisionArea($idDiv,$idArea)
{
$sites = Site::where(['division_id' => $idDiv,'area_id' => $idArea])->get();
return $sites;
}
//Route api.php
Route::get('division/{idDiv}','SiteController@getSiteByDivision');
Route::get('division/{idDiv}/{idArea}','SiteController@getSiteByDivisionArea');
使用laravel的服务器代码
User
非常感谢任何帮助。
谢谢,