À 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