ajax pas de réponse coté serveur
Bonjour,
dans le but de faire un formulaire de contacte je me suis lancé dans l'ajax.
Le souci c'est une fois que ma fonction est lancé je ne reçois pas de réponse du serveur j'ai un jolis Aborted.
Donc le requête est bien envoyer mais c'est la réponse qui merde.:cry:
Sauf quand je mes un "alert("test");" apres "xhr.send(data);" :roll:
Voila le js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
function getXMLHttpRequest() {
xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function request(callback) {
nom = document.getElementById("nom").value;
prenom = document.getElementById("prenom").value;
email = document.getElementById("email").value;
site = document.getElementById("site").value;
sujet = document.getElementById("sujet").value;
texte = document.getElementById("texte").value;
verif = document.getElementById("verif").value;
xhr = getXMLHttpRequest();
data = 'nom='+escape(nom);
xhr.open("POST", "http://beta.live-linux.fr.nf/site/templates/mail.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
callback(xhr.responseText);
document.getElementById("loed").style.display = "none";
document.getElementById("mail").style.display = "inline";
} else if (xhr.readyState < 4) {
document.getElementById("loed").style.display = "inline";
document.getElementById("mail").style.display = "none";
}
else if (xhr.status == 500 ) {
document.getElementById("loed").style.display = "none";
document.getElementById("mail").style.display = "inline";
}
};
}
function readData(sData) {
alert(sData);
} |
La page en html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| <div id="right">
<div id="mail" >
<form method="post" >
<br />
<fieldset class="connection">
<legend>.: Mail :.</legend>
<br />
<table class="tableau">
<tr>
<td><p>Nom : </p></td>
<td><input type="text" id="nom" /></td>
<td><em>ereur</em></td>
</tr>
<tr>
<td><p>Prénom : </p></td>
<td><input type="text" id="prenom" /></td>
<td><em>ereur</em></td>
</tr>
<tr>
<td><p>E-mail : </p></td>
<td><input type="text" id="email" /></td>
<td><em>ereur</em></td>
</tr>
<tr>
<td><p>Site internet ( facultatif ) : </p></td>
<td><input type="text" id="site" value="http://" /></td>
</tr>
<tr>
<td> <p>Sujet : </p></td>
<td> <input type="text" id="sujet" /></td>
<td><em>ereur</em></td>
</tr>
</table>
<br />
<textarea name="texte" id="texte">Taper votre texte</textarea>
<br />
</fieldset>
<br/>
<fieldset class="connection">
<legend>.: Traitement :.</legend>
<br />
<center>
<a onclick=""><img id="image" src="http://beta.live-linux.fr.nf/site/libs/captcha/captcha.php" alt="image de protection" /></a><br />
<p>recopier les chifres : <input type="text" id="verif" size="10" maxlength="5" /><em> ereur</em></p>
<p><button onclick="request(readData);">GO</button></p>
</center>
<br />
</fieldset>
</form>
</div>
<div id="loed" style="display: none;">
<br/><br/><br/><br/>
<center>
<img src="http://beta.live-linux.fr.nf/site/ajax.gif" alt="chargement" />
<p>Envoy du mail en cours</p>
</center>
</div>
<div id="reusii" style="display: none;">
<br/><br/><br/><br/>
<center>
<h1>Envoy reussi</h1>
</center>
</div>
</div> |
Le code php qui reçois la réponse :
Code:
1 2 3 4
|
<?php
echo $_POST['nom'];
?> |
Pour ceux que ça peut aider ici l'adresse du formulaire : http://beta.live-linux.fr.nf/site/contact
Un grand merci de votre aide.