【问题标题】:Data do not display when ajax request successajax请求成功时不显示数据
【发布时间】:2020-05-24 07:02:03
【问题描述】:

在 Laravel 中,我有这个控制器:

public function getData()
{
    $data = Bencana::all()->pluck('coord');
    return response($data);
}

这是从我的数据库中加载数据的代码,我的 JS 看起来像这样:

$.ajax({
    type : "POST",
    url : '{{ route('getdata') }}',
    headers : {'X-CSRF-TOKEN' : "{{ csrf_token() }}"},
    dataType : 'json',
    success : function(response) {
        // console.log(response);
        var layer = L.geoJson(response, {
            style : myStyle
        }).addTo(map);
    }
});

该请求未在我的地图上显示圆、点、多边形数据。我被困在这里了。

谁能告诉我下一步该怎么做?

编辑:控制台没有错误,但我的数据库有不同的输出。

{ type : manythings, another :{}}

我将 json 类型的坐标保存到我的表中。当我尝试返回地图时,控制台显示:

{\type : \"somelikethat", \another :\"{}}

【问题讨论】:

  • 你能试试response.data吗?
  • @Rolf OP 使用的是 jQuery,而不是 axios。
  • console.log(response) 显示什么?
  • 啊啊好吧!好久没用jQuery了;)
  • 您是否收到任何控制台错误?你确定Lmap 在代码运行时已经正确设置了吗?

标签: javascript json laravel leaflet


【解决方案1】:

如果你在ajax中设置dataType: 'json',你必须在控制器中使用return response()->json($data);

如果你想为数据设置一个键,你可以试试这个:return response()->json(['data' => $data]);

【讨论】:

    【解决方案2】:

    正如建议的那样,我可能会建议从控制器返回JsonResponse,但是,如果您要返回数组,它应该已经转换为 json。 所以我要改变的第一件事是控制器响应:

    use Illuminate\Http\JsonResponse;
    
    public function getData()
    {
        $data = Bencana::all()->pluck('coord');
    
        return new JsonResponse($data);
    }
    

    接下来要检查的是您实际需要传递给geoJson 方法的内容。需要明确的是 - 你在使用GeoJSON吗?

    如果是这样,在登录页面上有一个您需要传入的 json 结构示例 - 尽管我相信您已经知道这一点。只需将您从控制器发送的响应与推荐的结构进行比较 - 可能存在一些问题。

    通过查看他们的示例,您需要 json 对象的 typegeometry 属性。

    {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [125.6, 10.1]
        },
        "properties": {
            "name": "Dinagat Islands"
        }
    }
    

    对不起,如果这些事情听起来很明显,但有时仔细检查会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多