[ajax][methode post] intéragir avec le serveur

Contenu du snippet

À 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

A voir également

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.