【问题标题】:Reading Laravel JSON response in jQuery $.ajax在 jQuery $.ajax 中读取 Laravel JSON 响应
【发布时间】:2014-09-09 10:14:54
【问题描述】:

我在阅读 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()),但同样的错误。

【问题讨论】:

  • @delmadord 我已经检查过了,尝试了所有可能性。看起来 Laravel 返回 json 数据,可以在 firebug 中看到,但 javascript 有问题。我什至使用了 $.parseJSON 但没有用

标签: ajax json laravel


【解决方案1】:

return Point::all(); 将返回一个数据数组,而不是一个点,因此您必须在 success 回调中遍历该数据:

...
success: function(data){
    for (var i = 0; i < data.length; i++) {
        var r = data[i];
        ...
    }
}
...

【讨论】:

  • 感谢 Kestutis,你让我开心
  • 完全没问题。在使用 API 时,我发现首先使用 Postman 对其进行测试非常有用,然后才在 JavaScript 中处理响应
猜你喜欢
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 2014-03-13
  • 2014-10-18
  • 1970-01-01
  • 2014-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多