2016-03-08 83 views
-1

我真的不明白我的问题: 我有geojson文件,我需要获取内容并返回一个有效的变量。获取文件内容到json/geojson

我的测试:

//this works 
var obj_valid = {"type": "FeatureCollection","crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },"features": [{ "type": "Feature", "properties": { "id": "14001", "nom": "val1" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 0.301, 49.371 ], xxx , [ 0.301, 49.371 ] ] ] ] } }]}; 

//doesn't work 
var obj_fail = $.getJSON("geojson/com/14001.json"); 

我想回到什么是我的第一个变种“obj_valid”相同的内容。我试过$ .getJSON,$阿贾克斯,$ .getScript但没有成功,输出会有所不同:

enter image description here

什么是我的错?

预先感谢您的帮助,

回答

1

它不应该是这样的

var obj_fail = {}; 
$.getJSON("geojson/com/14001.json") 
.done(function(data){ 
    obj_fail = data; 
}); 

希望这有助于!

3

$.getJSON是一个ajax请求,是异步的。它不返回数据,它返回一个承诺。

需要消耗一个成功的响应数据或进行回调

$.getJSON("geojson/com/14001.json", function(responseData){ 
    // do something with responseData 
}); 

// OR 
$.getJSON("geojson/com/14001.json").done(function(responseData){ 
    // do something with responseData 
}); 

$.getJSON docs