0

以下のように文字列トークンを返すコントローラーアクションがWebAPIにありますが、問題は、サーバー側の応答文字列に「/」が表示されるたびに、クライアント側では常に「/」が表示されることです。元の文字列。どうすればそれを取り除くことができますか?

ここに画像の説明を入力してください

public string GetTrackProfile()
 {
    string token="0Q2l7m4dAekjCt/yIxk0txzyZAxjZMYZq6+OAXHPNorrel7hez2vnkLe61Mf2ZLL";
    return token;
 }

クライアント側の応答

0Q2l7m4dAekjCt / yIxk0txzyZAxjZMYZq6 + OAXHPNorrel7hez2vnkLe61Mf2ZLL

4

1 に答える 1

3

この文字列がHTTPヘッダーの一部である場合、RFC 2616仕様 /によれば、区切り文字と見なされ、適切にエスケープする必要があることに注意する必要があります(これは、Web APIが先頭に追加することで実行されます\)。

多くのHTTP/1.1ヘッダーフィールド値は、LWSまたは特殊文字で区切られた単語で構成されています。これらの特殊文字は、(セクション3.6で定義されているように)パラメーター値内で使用される引用符で囲まれた文字列に含まれている必要があります。

   token          = 1*<any CHAR except CTLs or separators>
   separators     = "(" | ")" | "<" | ">" | "@"
                  | "," | ";" | ":" | "\" | <">
                  | "/" | "[" | "]" | "?" | "="
                  | "{" | "}" | SP | HT

アップデート:

コメントによると、この文字列はJSONシリアル化された応答の一部です。適切にエンコードされています。次の例を見てみましょう。

var json = {"d":"a\/b"};
alert(json.d);​

このコードを実行すると、正しい文字列が表示されます- a/b。したがって、これは完全に正常な動作です。

于 2012-07-01T19:47:53.610 に答える