0

Ajaxリクエストからクライアントにシグナルを送り返すときは、次のフォームを使用します。

<!--a_b-->

ですから、私がそれを解析せず、それがhtmlになってしまう場合、それはコメントであるため、何も壊れません。

aは区切り文字であり、はb情報を伝達するための値を示します。_

他の人がajaxリクエストから「制御」シグナルをどのように送り返すのか疑問に思わずにはいられません。

ajaxを使用してサーバーからクライアントに制御信号を送信するための最良の方法は何ですか?

4

4 に答える 4

6

JSONを使用します。クライアントはとにかく応答を解釈する方法を知っている必要があるので、htmlコメントでそれをエンコードすることは実際には役に立ちません。これは、後で解析するために追加の作業が必要であることを意味します。if some how I don't parse itただ、修正する必要のあるバグがあることを意味します。

于 2012-05-15T20:51:35.350 に答える
3

間違いなくJSONパッケージを使用してください。誤って「htmlになってしまう」ことはないので、心配する必要はありません。

JSON応答を受信し、特別なプロパティ(指示)を確認してから、返された内容でそれに応じて応答します。

{ "reload": "http://www.google.com" }

または

{ "alert": "HEY BUDDY!"}
于 2012-05-15T20:52:29.330 に答える
1

技術的には、ajaxCALLはXMLを受信する必要があります。実際、そのようなデータを受信するために作成されたxhr.responseXMLがあります。

あなたは何も壊さないでしょう...

于 2012-05-15T20:52:05.507 に答える
0

jQuery.ajaxを使用すると、「あなたの代わりに作業を行う」だけです。非常に単純化された例:

$.ajax({
    url:'http://example.com/path?foo=bar',
    success: function(data) {
        // data won't land anywhere unless you want it to
    }
});

そして、あなたの応答をどのようにエンコードするのですか?JSONだけではいけないと思います。オブジェクトは既存のコードを壊すことなく新しい変数で簡単に拡張でき、実質的にオーバーヘッドがないため、JSONでエンコードされたオブジェクト(JSONでエンコードされた文字列ではない)を返すことには利点があります。

したがって、典型的な応答はdontGoPlasticが言ったように見えるかもしれません:

{"key":"value"}

次に、ブラウザで、それを解析し、次のコマンドで「キー」にアクセスできます。

var response = JSON.parse(data);
alert(response.key);
于 2012-05-16T00:56:33.737 に答える