1

Solr 検索のフロントエンドとしてajax-solrを使用しています。検索結果を取得するために、サーバーから特定の URL をajax-solr使用jQuery.getJSON()します。GET関連するコードは次のとおりです。

AjaxSolr.Manager = AjaxSolr.AbstractManager.extend(
  /** @lends AjaxSolr.Manager.prototype */
  {
  executeRequest: function (servlet) {
    var self = this;
    if (this.proxyUrl) {
      jQuery.post(this.proxyUrl, { query: this.store.string() }, function (data) { self.handleResponse(data); }, 'json');
    }
    else {
      jQuery.getJSON(this.solrUrl + servlet + '?' + this.store.string() + '&wt=json&json.wrf=?', {}, function (data) { self.handleResponse(data); });
    }
  }
});

問題は、ブラウザのアドレス バーに表示される URL が、どの URL でも変わらないことGETです。

ユーザーがメールや Twitter で検索 URL を共有できるようにしたいと考えています。そのため、読み込まれた URL をjQuery.getJSON()ブラウザのアドレス バーに表示する必要があります。それを行う方法はありますか?

ありがとう。

4

5 に答える 5

1

可能ですが、もう少し複雑にする必要があります。基本的に、次のようにハッシュタグの後に何かを追加する必要があります。

www.mysite.com/searchWithAjax#customData

次に、ページの読み込み時に # の後にあるものを読み取り、その情報を使用して ajax 検索を実行できます。# の後にあるものにアクセスするには、location.hash を使用します: http://www.w3schools.com/jsref/prop_loc_hash.asp

残念ながら、匿名の jsFiddle で location.hash を実行するのは少し困難です。この男の例をチェックしてください。必要なものはほぼ正確であり、ソースを表示してコードを取得できます。

http://jsfiddle.net/cowboy/CukUH/show/

そして、基本的なテクニックの非常に古い記事:

http://aspektas.com/blog/using-the-location-hash-with-ajax/

于 2011-04-19T20:35:20.997 に答える
0

これは ajax-solr の質問です。同じフレームワークがParameterHashStoreでこれを可能にします。

于 2014-08-13T22:17:07.380 に答える
0

これは xmlhttprequest (ajax) オブジェクトを使用して機能するため、不可能です。

そのため、リクエストはユーザーの通知なしにバックグラウンドで行われます。

この検索へのリンクなどのテキストを含む小さなボタン/何かを作成して、Google マップのように、ユーザーがこの検索への直接リンクを取得できるようにすることができます。

于 2011-04-19T20:29:29.547 に答える