現在、Google Chromeの拡張機能を作成しています。ウェブサイトの応答ヘッダーに関する情報を調べる必要があります。これを行うには、getAllResponseHeaders
メソッドを使用しましたが、JSONオブジェクトに入れる必要があります。残念ながら、私はエラーメッセージSyntaxError: Unexpected token D in JSON at position 0 at main
を得続けます。ここで getAllResponseHeadersメソッドからJSONオブジェクトを作成する方法
xmlhttp.open("GET", url, false);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
allResponseHeaders = xmlhttp.getAllResponseHeaders();
}
};
xmlhttp.send();
var responseHeaders = JSON.parse(allResponseHeaders);
obj.headers = responseHeaders;
私はallResponseHeaders = xmlhttp.getAllResponseHeaders();
呼び出した直後に警告を入れた場合、アラートはコールが成功したことを示しています。応答ヘッダーがすべて取得されました。最初の応答ヘッダーは、私のエラーメッセージのUnexpected token D
部分と関係があると思われるDateですが、なぜそれが正しく解析されないのかわかりません。これをどうやって解決するのですか?前もって感謝します。
編集:私はこのような何かを見て、私のJSONオブジェクトを希望:
{
"headers": {
"Date": "June 20, 2016",
"Content-Type": "charset=UTF/8",
...
}
}
JSON.parse()はJSONが含まれていない文字列に仕事に行くされていない...それはparseFloatは()は、文字列「こんにちは」上で動作しない理由を尋ねるようなものです。 – nnnnnn
それをJSON文字列に変換する方法はありますか? –
希望の出力形式は何ですか?あなたの質問を編集してください。また、その変数に値を代入した直後に 'console.log(allResponseHeaders)'を追加して、それがどの形式であるかを知ることができます。 – nnnnnn