2

GeoServer 2.3.0 から json 機能を取得しようとしています。例からコードを複製しましたが、期待どおりに機能します。ただし、URL を GeoServer と目的のレイヤーに設定すると、返される形式が同じではなく、「Uncaught SyntaxError: Unexpected token :」というエラーが発生します。

サンプル サーバーは、json 機能を次の形式で返します。

OpenLayers.Protocol.Script.registry.c1({"type":"FeatureCollection","features":[{"type":"Feature","id":"cities.2","geometry": ...

私の GeoServer は、json 機能を次の形式で返します。

{"type":"FeatureCollection","features":[{"type":"Feature","id":"poi.1","geometry": ...

エラーは、GeoServer がコールバック関数でラップされた json を返さないことが原因です。これはサーバー構成の問題のようですが、GeoServer 初心者として、微調整する正しい設定を見つけることができませんでした。

4

1 に答える 1

3

解決策を発見しました。サーバーでは、デフォルトで JSONP が無効になっています。環境変数 ENABLE_JSONP=true を設定し、「text/javascript」形式を要求すると、期待どおりの結果が得られます。サンプルサーバーが要求された形式の「json」で正しいjsonpを返す理由はまだわかりません。

于 2013-03-26T22:07:41.443 に答える