0
私は次のコードを持っています。 Firefoxでは問題なく動作しているようですが、Chromeでuncaught type
エラーが発生します。私は何が欠けていますか?nullのプロパティ 'getElementsByTagName'を読み取ることができません。それを理解できません
$(document).ready(function() {
$('#btn').click(function() {
var request = new XMLHttpRequest();
let url = `https://comicvine.gamespot.com/api/characters/?api_key=[apikey]`;
request.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
var response = JSON.parse(this.responseText);
getElements(response);
}
}
request.open("GET", url, true);
request.overrideMimeType('text/xml');
request.send();
alert(request.status);
alert(request.statusText);
var xml = request.responseXML;
var table;
var users = xml.getElementsByTagName("character");
for (var i = 0; i < users.length; i++) {
var user = users[i];
var names = user.getElementsByTagName("name");
var name= user.getElementsByTagName("real_name");
for (var j = 0; j < names.length; j++) {
alert(names[j].childNodes[0].nodeValue);
}
}
document.getElementById("results").innerHTML = table;
});
});
Firefoxでデータを表示できますが、Chromeには何も表示されません。
エラーを返す行を指定してください。 – jeff
あなたのコードは、JSONの結果を非同期的に**、**と** XMLの応答を同期的に期待しているようです...あなたはただ1つのタイプの応答を得ることができ、あなたの場合、text/xmlのMIMEタイプXMLのみになります - 結果は非同期的に利用可能になります –