在阅读Laravel的json响应时,我遇到了一个奇怪的问题。这是我的代码:
$.ajax({
url: 'getallpoints',
type: 'get',
dataType: 'json',
success: function(r){
var lat = r.lat;
var lng = r.lng;
var status = r.status;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map
});
}
});
这是我的Laravel代码
在routes.php中
Route::get('/getallpoints', 'PointController@getallpoints');
在PointController.php中
class PointController extends BaseController {
public function getAllPoints(){
return Point::all();
}
}
我对这些事情的定义不明确:
var lat = r.lat;
var lng = r.lng;
我也试过了Response::json(Point::all())
,但同样的错误。
答案 0 :(得分:1)
return Point::all();
将返回一个数据数组,而不是一个点,因此您必须在success
回调中迭代这些数据:
...
success: function(data){
for (var i = 0; i < data.length; i++) {
var r = data[i];
...
}
}
...