J'ai essayé d'obtenir une URL pour ouvrir mais je suis fâché de savoir pourquoi cela n'a pas fonctionné. Le code est répertorié et expliqué ci-dessous. Toute aide sera très appréciée.xmlHTTPrequest ne s'ouvre pas ("GET", url, true); Je suis fâché! PHP
L'objet:
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;
}
L'objet est appelé comme ceci:
<script type="text/javascript">
var myDelete = new getXMLHTTPRequest();
</script>
Maintenant, voici ce que je veux faire:
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!");
}
}
Quand je fais cela:
if (myDelete.open("GET", query, true)) {
myDelete.onreadystatechange = removeArticleResponse;
myDelete.send(null);
} else {
alert ("No road!");
}
L'alerte ("Pas de route!"); me montre que le code n'exécute pas passé ce point:
if (myDelete.open("GET", query, true)) {
Cela signifie que si les (myDelete) {œuvres. Le code passe cette étape et s'arrête pour une raison quelconque ici: myDelete.open ("GET", query, true); Il n'ouvrira pas l'URL. Je ne suis pas sûr du problème.
Edit: est ici la fonction utilisée pour accéder à la réponse du serveur:
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);
}
}
}
Y at-il une raison que vous utilisez des objets XMLHttpRequest directement au lieu d'une des bibliothèques qui font abstraction de la plomberie de vous (comme jQuery)? Je ne veux pas faire d'hypothèses, mais si vous n'êtes pas au courant, ils vous épargnent beaucoup de tracas w/ajax (et le code JS en général) – Rich
Même charger jQuery juste pour obtenir un bon appel Ajax est beaucoup de aérien. – staticsan