2016-09-20 2 views
-1

Reactベースのアプリがあります:ユーザーが "foo"をリクエストし、サーバーが基本ページ情報を返します。クライアントはこの(DOMContentLoaded)を受け取ると、内部の詳細 "foo"のAJAX呼び出しを行い、それをレンダリングします。Javascript:どうやってここに来ましたか? (AJAX以外のサーバーが送信したデータを見る)

しかし、最初のリクエストでデータを送信すると、AJAXコールをスキップすることは可能ですか? (私は以前これを試しましたが、Reactにとって非常に新しいものでした。これは現在のスキームをどのように思いついたかです。これは、以前に保存されたアイテムを処理しているためです。サーバーから送信されたすべてのデータがChromeの[ブラウザ] - [ネットワーク] - [レスポンス]領域に表示されます。私が必要とするすべてのものですが、そこにはありますが、Javascriptでアクセスする方法が見つかりません。

私が行った検索では、ほぼすべてAJAXリクエストが発生しています。 (私はJQueryを使用しています。)明らかに、私が現在使っているのと同じギャグを使って、保存されたデータの読み込みを扱うことができます。

もう一度、質問があります:非AJAXの場所からの応答を見ることは可能ですか?それが可能なら、それはお勧めですか?

更新:サンプルシナリオを歩みましょう。

  1. ユーザーは「/ foo」に行きます。
  2. サーバーの応答は{:some "json"}です。 JavascriptをonReadyで
  3. 、私はこれを行うことができます。

    はconsole.log(window.locationのを)。

と "/ foo"が表示されます。しかし、{:いくつかの "json"}を見ることはできますか?そしてどうやって? AJAX通話バージョンとの対比:

  1. ユーザーは「/ foo」に行きます。
  2. サーバーレスポンスは何もありません(つまり、ボディはありません)。
  3. JavascriptをonReadyが持っている:私はAJAX呼び出しを行う際に
  4. ので

$.ajax({ url: "/foo/data" type: "GET", success: function (req) {...} //req has {:some data} in it!

を、私は要求を取得します。その{:いくつかのデータ}を非AJAX呼び出しで得る方法はありますか?これは動作しませんが、私のようなものを見ることができる:

x = window.response(); 

または

x = Response.last(); 

それらのもののどちらも、もちろん、存在します。私が探しているものを明確にすることを願っています。

+0

あなたの状況をもう少し詳しく記述するコードを貼り付けることはできますか?私はこの質問を数回読んできました。私の人生のために、あなたが何を求めているのか分かりません。今私は本当に知りたい! – azium

答えて

0

スクリプトバンドルでアクセス可能なグローバル変数を含むサーバーレンダリングページにスクリプトタグをドロップできます。たとえば、

<script> 
    var myGlobalVar = { ... server data ... } <!-- // note: this is rendered raw by your server 
</script> 
<script src="myScriptBundle.min.js"></script> 

また、Reactで可能なサーバーサイドのレンダリングを調べることもできます。Reduxの実装を確認してください:http://redux.js.org/docs/recipes/ServerRendering.html

+0

ええ、私はそれをすることができます。少量のデータがある場合に備えてください。しかし、「ちょっと、このページを作成した要求に対する、サーバーからの応答はどうでしたか?」とは考えていません。セキュリティ上の理由などではない場合がありますが、ここにいる誰かが知っていると考えました。 – user3810626

関連する問題