2011-06-24 8 views
0

私はJSONデータを使用することで取得する場合:その後、私は説明フィールドの値を取得していないです

$.getJSON("http://192.168.1.9:8983/solr/db/select/?wt=json&&start=0&rows=100&q="+elegant+"&hl=true&hl.fl=description&hl.usePhraseHighlighter=true&json.wrf=?", function(newresult){ 

$.each(newresult.highlighting, function(i, hitem){ 
     alert(hitem.description[0]); 

}); 

として、このJSONデータを使用。

しかし、私がで行ったように、変数内のデータ全体を割り当てるときは、newresultとし、$.each()を実行してください。 getJSON()でデータを使用したときの問題点を教えてください。

+2

ことがあります あなたは期待しています。いくつかのものを取り除き、それをよりシンプルにすることができますか? – tjameson

+0

また、これを公開ポートに置くことができますか?ライブでご覧になれますか? JSONの構文などで問題になる可能性があります。 – tjameson

答えて

0

alertに行を渡す場合、newresult.highlightingはオブジェクトまたは配列である必要があります。それで、これは同じ原産地政策に関する問題ではありません。コールバックにはjson.wrf=?を指定しています。 おそらく、あなたはハイライト配列の要素のstructについて覚えていませんでした。多分。 directryにアクセスし、配列の構造を確認してください。

{ 
"highlighting": [ { "description" : "foo" }, { "description" : "bar" } ] 
} 

をしかし、それは巨大な例です

{ 
"highlighting": { "A001" : { "description" : "foo" }, "A002" : { "description" : "bar" } } 
} 
0

あなたのリクエストは、同じ発信元ポリシーによっておそらく停止されています。サービスが別のURLにある場合は、JSONPを使用する必要があります。

+1

必ずしもそうではありません。 Webサーバーの制御権を持っている場合、サーバー上のAccess-Control-Allow-Originヘッダーを「*」に設定し、JSONPを使用する必要はありません。これは[Cors](http://www.w3.org/TR/cors/)の一部です。 – tjameson

関連する問題