获取文件内容到json / geojson

时间:2016-03-08 14:43:06

标签: javascript jquery json geojson

我真的不明白我的问题: 我有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");

我想返回与我的第一个var“obj_valid”相同的内容。我尝试了$ .getJSON,$ .ajax,$ .getScript,但没有成功,输出结果不同:

enter image description here

我的错误是什么?

先谢谢你的帮助,

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

不应该像这样

dataTableInstance.row.add([
  rows[i][6],
  rows[i][0],
  rows[i][1],
  rows[i][2],
  rows[i][3],
  rows[i][4],
  rows[i][5],
  '<a id="UpdateLink" href="#">Update</a>'
]).draw();

希望这有帮助!