我正在尝试阅读并在jqGrid中发布从USGS存储库中提取的一组地震GeoJSON数据.
请求被接受,但在可能满足标头元数据时显示“Uncaught SyntaxError:Unexpected token”.
请求被接受,但在可能满足标头元数据时显示“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',jsonmap: 'properties.place'},{name: 'url',label: 'URL',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).