REFERANS: http://www.openjs.com/articles/ajax_xmlhttp_using_post.php
POST method
Isteği gönderirken POST yöntemi kullanılacaktır yüzden bazı değişiklikler yapmak için gidiyoruz ...
var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
Bazı http başlıkları herhangi bir POST isteği ile birlikte ayarlanmalıdır. Bu yüzden bu satırları bunları ...
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
Yukarıdaki hatları ile biz temelde veri gönderme form gönderme biçiminde olduğunu söylüyor. Biz de gönderiyor parametrelerin uzunluğunu verir.
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
Biz 'hazır devlet' değişim olay işleyicisi ayarlayın. Bu, GET metodu için kullanılan aynı işleyicisi. Sen http.responseText burada kullanabilirsiniz - innerHTML (AHAH) kullanarak bir div içine yerleştirin, onu (json) veya başka bir şey eval.
http.send(params);
Son olarak, isteği ile parametre göndermek. Verilen url bu hattı denir sonra yüklenir. GET yönteminde, parametre null değer olacaktır. Ama POST yöntemi, göndermek için veri gönderme fonksiyonu argüman olarak gönderilecektir. Params değişken olarak lorem=ipsum&name=binny
ikinci satırda ilan edildi - bu yüzden iki parametre göndermek - sırasıyla 'lorem' ve 'isim' değerlerin 'ipsum' ve 'binny'.