gpt4 book ai didi

javascript - 如何动态给出 json 响应..?

转载 作者:行者123 更新时间:2023-12-03 11:34:48 24 4
gpt4 key购买 nike

这是 json 响应

[{"lat": "36.15900011", "lon": "-115.17205183"}, {"lat": "36.15899561", "lon": "-115.17276155"}]

下面的代码给出了这个错误:

TypeError: item is undefined
...: new ol.geom.Point(ol.proj.transform([item.lon , item.lat], 'EPSG:4326', 'EPSG:...

<script> 内的代码下方

    $.ajax({
url:'parser', success:function(response){
$(document).ready(function(){
var jsonlen = response.length;
for (var i=0; i<=jsonlen; i++){
var item = response[i];
var iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([item.lon , item.lat], 'EPSG:4326', 'EPSG:3857')),
name:'Null Island',
rainfall:500
})
var vectorSource = new ol.source.Vector({
// empty vector
})
vectorSource.addFeature(iconFeature);
}

我不知道如何连续给iconFeature提供json响应

最佳答案

首先,从处理程序中解开代码,这在这里没有意义。我已经在代码中修改了它。

其次,即使长度为空,您的 for 循环也会运行。这就是为什么你变得不确定。
您需要使用小于,而不是小于或等于。因为,如果长度为零,并且 i 从零开始,则条件将为 true,并且将调用 response[0],即使响应是空数组也是如此。返回未定义

第三(我无法帮助您),您必须检查响应以确保数据存在。看来不是这样的。

  $.ajax({
url: 'parser',
success: function (response) {
var jsonlen = response.length - 1;
for (var i = 0; i < jsonlen; i++) {
var item = response[i];
var iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([item.lon, item.lat], 'EPSG:4326', 'EPSG:3857')),
name: 'Null Island',
rainfall: 500
});
var vectorSource = new ol.source.Vector({
// empty vector
})
vectorSource.addFeature(iconFeature);
}
}
});

关于javascript - 如何动态给出 json 响应..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26564148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com