2011-09-16 13 views
0

sol:rリクエストからJSON結果をフェッチしたいのですが、いつもエラーが戻ってきます。

相続コード:RとバックJSONを送っ:私のログイン

$.ajax({ 
     url: 'http://' + url + '/solr/select', 
     type: 'POST', 
     data: 'indent=on&version=2.2&q=name:pzn&start=0&rows=10&fl=name&qt=&wt=json', 
     dataType: 'jsonp', 
     success: function (data, textStatus, xhr) { 
      var str = eval("("+data+")"); 
      $("#results").html('raw JSON: ' + str); 
      }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert(textStatus + ": " + errorThrown); 
      } 
    }); 

私は、要求がゾルによって処理されたことを、見ることができます。 しかし、「jQuery15204679577243202049_1316167632724が呼び出されていない」というエラーが表示されます。それほど役に立ちませんが、Firebugのコンソールには、レスポンスに無効なラベルがあり、最初のJSON行の「responseHeader」が表示されます:{'

しかし、JSON全体が戻ってきます。 D

この問題を解決するにはどうすればよいですか?

答えて

1

このブログ記事SOLR with JSONP with jQueryを見てください。著者は、SolrをjQuery Ajaxで呼び出すいくつかの方法を示しています。

更新:結果をどのように処理するかを ..あなたが行うことができます

$.getJSON(mySolrUrl, function(data) { 
// data is bound to the result json 
    alert("Found " + data.response.numFound + " documents."); 
    alert("First document name field is: " + data.response.docs[0].name); 
}); 

Plusはまた再びあなたの質問を見て...その結果、生のJSONオブジェクトへのアクセスを取得するには、以下の、私は、あなたがajax POSTをやりたい/やりたいとは思っていません。なぜなら、ajax GETは同じ結果を返さなければならないからです。そして、私が追加した例は、ajax GETだけを行うことです。

+0

@

もっと私はすでにこの記事を読んで、それだけで私に次を返します:生のJSON:[オブジェクトのオブジェクト] –

+0

を編集を参照してください。.. –