À quoi sert ce script ?
- Envoyer et recevoir de l'information au server
- Éviter les doublures
- (Et donc d')Alléger le code
Comment ?
Tout d'abord...
- Inserez...
"function post(url, arrayAttribute, arrayValue){
sending = "";
for(i=0;i!=arrayAttribute.length;i++){
if(i==0){sending = sending+arrayAttribute[i]+"="+arrayValue[i];
}else{sending = sending+"&"+arrayAttribute[i]+"="+arrayValue[i];}
}
...
request(readData);
}"
Dans head entre des balise script (<script></script>)
- Créez un fichier php qui servira de récepteur/répondeur avec...
post(url, arrayAttribute, arrayValue)
"header("Content-Type: text/plain");
$attribue = (isset($_POST["attribue"])) ? $_POST["attribue"] : NULL;
if($attribue){
echo "reçu !";
}else{
echo "échoué";
}"
L'installation est finis !
Comment l'utiliser
Par exemple pour un chat avec jQuery...
Dans html...
<form onSubmit="return false; post(poster.php, Array(message), array($(".itcm").val())) ">
<input type="text" name="message" class="itcm">
<input type="button" value="envoyer">
</form>
Dans php...
header("Content-Type: text/plain");
$message = (isset($_POST["message"])) ? $_POST["message"] : NULL;
$ip = $_SERVER["REMOTE_ADDR"].":".$REMOTE_PORT;
$date=date("d/m/Y à H\hi");
if($message){
echo "message reçu !";
//... Après du pdo ou msql et le tour est joué !
}else{
echo "message perdu !";
}
--------------------------IMPORTANT
Ce script n'est plus utile jQuery gère déjà l'ajax : voir jQuery.post() ->
http://api.jquery.com/jQuery.post/
Source / Exemple :
[JAVASCRIPT]
function post(url, arrayAttribute, arrayValue){
sending = "";
for(i=0;i!=arrayAttribute.length;i++){
if(i==0){sending = sending+arrayAttribute[i]+"="+arrayValue[i];
}else{sending = sending+"&"+arrayAttribute[i]+"="+arrayValue[i];}
}
function getXMLHttpRequest(){var 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) {
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function(){
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)){callback(xhr.responseText);}
};
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(sending);
}
function readData(sData){return sData;}
request(readData);
}
[PHP]
header("Content-Type: text/plain");
$attribue = (isset($_POST["attribue"])) ? $_POST["attribue"] : NULL;
if($attribue){
echo "reçu !";
}else{
echo "échoué";
}
Conclusion :
[AJAX] Intéragir avec le serveur
Son fonctionnement...
Le script envoie de cette façon :
exemple : post("action.php", Array("message", "date", "ip"), Array("salut!", "19/02/13", "192.168.1.1"));
le script envoie à action.php en methode post : message=salut! & date=19/02/13 & ip=192.168.1.1
Arrtibut
url = l'url du fichier php
arrayAttribute = tableau avec les attributs
arrayValue = tableau avec les valeurs
31 mai 2013 à 14:45
Cela est bien pour ceux qui ont des problèmes de sécurité avec leurs requêtes $_POST.
Autrement ça marche pas ^^.
Cordialement.
20 mai 2013 à 12:07
merci d'avoir tenu compte de mon commentaire et d'avoir expliqué le script
désolé pour le retard, mais je n'ai pas reçu de notification de message de javascriptfr.
je vais étudier cela dés que possible
à+
8 avril 2013 à 10:37
beaucoup de visites, pas de chargement, il faut se poser des questions ??
certainement un manque d'explication
à quoi çà sert ?? pour les novices de l'ajax c'est pas évident
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.