Я пытался заставить URL открываться, но меня раздражает, почему это не сработало. Код указан и объяснен ниже. Любая помощь будет высоко оценена.
Объект:
function getXMLHTTPRequest() {
var req = false;
try {
/* for Firefox */
req = new XMLHttpRequest();
} catch (err) {
try {
/* for some versions of IE */
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err) {
try {
/* for some other versions of IE */
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err) {
req = false;
}
}
}
return req;
}
Объект называется так:
<script type="text/javascript">
var myDelete = new getXMLHTTPRequest();
</script>
Теперь вот что я хочу сделать:
function removeArticle(id) {
if (myDelete) {
try {
var deletUrl = "delete.php";
var query = deletUrl + "?theid=" + id;
myDelete.open("GET", query, true);
myDelete.onreadystatechange = removeArticleResponse;
myDelete.send(null);
} catch (e) {
alert ("Unable to connect to the server:\n" + e.toString());
}
} else {
alert ("Bad! Very BAD!");
}
}
Когда я делаю это:
if (myDelete.open("GET", query, true)) {
myDelete.onreadystatechange = removeArticleResponse;
myDelete.send(null);
} else {
alert ("No road!");
}
оповещение («Нет дороги!»); показывает, что код не выполняется, прошел этот пункт:
if (myDelete.open("GET", query, true)) {
Это означает, что if (myDelete) {работает. Код проходит этот этап и по какой-то причине останавливается здесь: myDelete.open ("GET", query, true); Это не откроет URL. Я не уверен, в чем проблема.
Редактировать: Вот функция, используемая для доступа к ответу сервера:
function removeArticleResponse () {
if (myDelete.status == 4) {
if (myDelete.status == 200) {
try {
response = myDelete.responseText;
document.getElementById('displaynewsletterarticleresult').innerHTML = response;
} catch(e) {
alert("An error occured while reading the response:" + e.toString());
}
} else {
alert ("An error occured when attempting to retrieve the data:\n" + myDelete.statusText);
}
}
}