我正在尝试在jqGrid中读取和发布从USGS信息库提取的一组地震GeoJSON数据。
该请求已被接受,但是当可能满足标头元数据时,将显示“ Uncaught SyntaxError:Unexpected token”。
$(function () {
'use strict';
$.extend($.jgrid.search, {multipleSearch: true, multipleGroup: true, overlay: 0});
$('#grid').jqGrid({
url: 'http://earthquake.usgs.gov/earthquakes/feed/geojson/2.5/week?callback=?',
datatype: 'json',
colModel: [
{name: 'mag', label: 'MAGNITUDO', width: 150, jsonmap: 'properties.mag', sorttype: 'number',
formatter: 'number', formatoptions: {decimalPlaces: 2}},
{name: 'place', label: 'LOCALITA', width: 150, jsonmap: 'properties.place'},
{name: 'url', label: 'URL', width: 150, jsonmap: 'properties.url'}
],
toppager: true,
gridview: true,
rowList: [10, 20, 50, 10000],
rowNum: 10,
jsonReader: {
root: 'features',
repeatitems: false
},
loadonce: true,
ignoreCase: true,
height: 'auto'
}).jqGrid('navGrid', '#grid_toppager', {add: false, edit: false, del: false})
.jqGrid('filterToolbar', {stringResult: true, defaultSearch: 'cn', searchOnEnter: false});
$("#grid_toppager option[value=10000]").text('All');
});
你有什么解决办法吗?
提前致谢。
最佳答案
我查看了geojson的文档,我认为我找到了问题的原因。似乎GeoJSON(P)使用eqfeed_callback
作为回调名称(请参见here)。所以我修复了您以前使用过的jqGrid的一些选项:
url: 'http://earthquake.usgs.gov/earthquakes/feed/geojsonp/2.5/week',
datatype: 'jsonp',
postData: '',
ajaxGridOptions: { jsonp: false, jsonpCallback: 'eqfeed_callback', cache: true},
The modified demo现在可以工作并显示如下结果
更新:The modified demo使用GeoJSON的新URL和free jqGrid的新版本(4.14.1)。
关于jquery - 来自USGS geojson数据的jqGrid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15520356/