2017-11-26 9 views
2

私はGeoServerのWFSからデータを取得するのに苦労しています。私は、WFSによって返されたJSONから特定のプロパティを取得し、テーブルを満たすHTMLページでそれを使用したいと思います。私はたくさんの投稿とドキュメントを読んだが、うまくいかないようだ。私が持っている:WFS/GeoserverからJSONデータを取得

(a)は

をJSONP有効にするために私のgeoserverフォルダ内web.infファイルを変更(b)のOUTPUTFORMAT(JSONまたはtext/javascriptの)の組み合わせを試してみました

(c)は異なるみましたJSON(使用。または、[]、JSON.parseまたはparseJSONなど)を解析する方法、

(d)は、AJAX呼び出しが正常に動作するかどうかをテストするためにJSON.stringifyを使用(それがない!!)

が、 、最終的には常にを返します。未定義 !!

function wfs(longitude, latitude){ 
    function getJson(data) { 
     var myVar1=data['avgtemp1']; 
     document.getElementById("v1").innerHTML = myVar; 
    } 
    var JsonUrl = "http://88.99.13.199:8080/geoserver/agristats/wfs?service=wfs&version=2.0.0&request=GetFeature&typeNames=agristats:beekeeping&cql_filter=INTERSECTS(geom,POINT(" + longitude + " " + latitude + "))&outputFormat=text/javascript&format_options=callback:getJson"; 
    $.ajax({ 
     type: 'GET', 
     url: JsonUrl, 
     dataType: 'jsonp', 
     jsonpCallback:'getJson', 
     success: getJson 
    }); 
} 
wfs(38, 23); 

助けてもらえますか?

答えて

3

あなたは近くにあります。まず、書き込む変数名に誤字があります(myVar1 vs myVar)。第二に、あなたの関数はJsonオブジェクトを受け取っているので、その構造に潜んでいなければなりません。最初に機能を取得し、次に第1の機能、次にプロパティ配列、次にあなたの選択したプロパティを取得します。 私はなど、彼らがnullではない検証、あなたはきっとプロパティ/項目をループしたくなるようあなたは、JSONオブジェクトにtutorialを読んで最後に

function getJson(data) { 
     var myVar1=data.features[0].properties['avgtemp1']; 
     document.getElementById("v1").innerHTML = myVar1; 
    } 

を示唆して、自分の中にデバッガを使用することを忘れないでくださいお気に入りのブラウザ。関数にブレークポイントを置き、dataの構造と内容を確認してください。

+0

ありがとうございます@JGH! JSON-noobの問題でした。私はそれが完全に働くので答えを受け入れる。 – ilitse

関連する問題