一般的なエラーのようですが、私が検索した解決策はどれも成功していません(&を&
に置き換える)私は単純なJavascript(AJAX)を持っていますが、これには二重のif文がいくつか含まれています。このスクリプトはChromeとFirefoxの両方でうまく動作しますが、Internet Explorer 9ではNetbeansと同じ行にエラーが報告されません(エンティティ名は '&'(...)の直後にある必要があります)。エンティティ名はすぐに '&'(...)の後に続ける必要があります
ここに誰かがエラーを見つけたり、私が見た場所に手がかりを与えたりすることを願っています。
function getNames(str) {
var xmlhttp;
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
// The line below is what produces the error.
if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
var arr = xmlhttp.responseText.split(",");
var ul = document.getElementById("names");
var li = document.createElement("li");
if (ul.hasChildNodes()) {
while (ul.childNodes.length >= 1) {
ul.removeChild(ul.firstChild);
}
}
for (var i = 0; i < arr.length; i++) {
if (arr[i] != ":@") {
var li = document.createElement("li");
li.innerHTML = newListItem = arr[i];
ul.insertBefore(li, ul.getElementsByTagName("li")[0]);
}
}
}
}
xmlhttp.open("GET", "./ext/get_names.php?q=" + str, true);
xmlhttp.send();
}
私は、あなたが '場合(xmlhttp.statusの== 200 && xmlhttp.readyState == 4)'と '場合(xmlhttp.statusの== 200 & & xmlhttp.readyState == 4)' –
あなたがたを交換する必要があると思います私はそれを試みました。それはすべてのブラウザでスクリプトを完全に破った。 –
それを入れ子にしてみましょう。 'if(xmlhttp.status == 200){if(xmlhttp.readyState == 4){' –