Heim >Backend-Entwicklung >PHP-Tutorial >Der Unterschied zwischen POST und GET in AJAX und wie man ihn implementiert
Wir wissen, dass der erste Parameter in der AJAX-Öffnungsmethode die Übertragungsmethode darstellt. Vielen Informationen zufolge können Sie GET, POST, HEAD und jede andere vom Server unterstützte Übertragungsmethode zum Übertragen von Variablen verwenden. Aber was sind eigentlich die Unterschiede zwischen POST und GET und wie sollten sie im eigentlichen Kodierungsprozess umgesetzt werden?
(Hinweis: Informationen zur Übermittlungsmethode finden Sie in den Bestimmungen und Anweisungen von RFC2068)
Jeder kennt die Sendemethode in AJAX. Unter normalen Umständen werden Nullwerte übergeben. Aber in der Post-Methode unten werden Parameter in der send()-Methode übergeben.
Für POST können Daten zum Speichern von Daten verwendet werden, aber für GET müssen die Parameter eindeutig sein (es scheint richtig zu sein??)
Im GET-Prozess werden die Parameter zusammen mit gesendet die URL Wie. http://localhost/ajaxtest/proceajax.php?name=stven&pws=123
Aber während des POST-Prozesses können die zu übertragenden Dateninformationen direkt nach der ?-Nummer abgerufen werden.
post_data=name=stven&pws=123
Plus eine Schleife mit js
if (ajax_request_type == "GET") {
if (uri.indexOf (" ?") == -1)
uri = uri + "?rs=" + func_name;
else
uri = uri + "&rs=" + func_name;
for (i = 0; i < args.length-1; i++)
uri = uri + "&rsargs[]=" + args[i];
uri = uri + "&rsrnd=" + new Date().getTime () ;
post_data = null;
} else {
post_data = "rs=" + func_name;
for (i = 0; i < args.length-1; i++)
post_data = post_data + "&rsargs[]=" + urlencode(args[i]);
}
function ajax_run(action_name,uri,request_type,postvar) {
var post_data;
ajaxok = ajax_init_object();
if(request_type == "POST"){
uri = uri + "?nocache=" + new Date().getTime();
}else {
uri = uri + "&nocache=" + new Date().getTime();
}
if(ajaxok){
ajaxok.open(request_type, uri, false) ;
if (request_type == "POST") {
ajax.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
ajax.setRequestHeader("Content -Type ", "application/x-www-form-urlencoded");
}
ajaxok.onreadystatechange = ajax_complete;
ajaxok.send(post_data);
ajaxok = null;
}
}