0

私はこの男を手に入れました。彼は文字列を読み取り可能なものにデコードします。

decodeURIComponent("Invalid Ticker Name \u0027t\u0027 at line: 3")
"Invalid Ticker Name 't' at line: 3"

今、これを見てください。この文字列 (配列項目) のソースが実際には文字列であることを示しています。

typeof decodeURIComponent(errorsArr[i])
"string"

しかし、配列項目をデコードしようとすると、うまくいきません。

decodeURIComponent(errorsArr[i])
"Invalid Ticker Name \u0027t\u0027 at line: 3"

何をすべきか?

4

2 に答える 2

1

私はそれが何であるかを知っています。文字列にはリテラルが含ま\u0027れています。この動作は、ブラウザで次のように確認できます。

javascript:alert("\u0027");alert("\\u0027");

次のように入力すると:

Invalid Ticker Name \u0027t\u0027 at line: 3

ユニコード文字を置き換えています。なぜ使えないのです%27か?

于 2012-08-07T20:04:29.290 に答える
1

問題は解決しました。

コードに書いてある通り

// If the document was sent as 'application/javascript' or
// 'text/javascript', then the browser wraps the text in a <pre>
// tag and performs html encoding on the contents.  In this case,
// we need to pull the original text content from the text node's
// nodeValue property to retrieve the unmangled content.
// Note that IE6 only understands text/html

ファイルをhtml/textとして提供し始めたので、問題は解決しました。

于 2012-08-08T15:49:23.953 に答える