Salut,
Intr-un formular am un array asociativ constituit din variabilele POST (id element=>valoare variabila POST). Care este cea mai eficienta modalitate de a-l transmite prin ajax catre fisierul PHP apelat cu ajax (adica model in MVC)?
Array asociativ cu date de formular trimis prin ajax
-
- Mesaje:430
Array asociativ cu date de formular trimis prin ajax
MarPlo
Mesaje:4343
Salut
In JavaScript array-ul asociativ e de fapt obiect, creat cu: {prop:val,}.
Eu folosesc aceasta functie ajaxSend(), cum e in exemplu de dupa ea.
Iar in php:
- Daca acel array e de fapt un sir /text (cu mai multe key=>val) intr-un camp de formular, e bine sa fie intr-un format JSON valid; si il poti trimite direct ca sir JSON cu Ajax la php.
In JavaScript array-ul asociativ e de fapt obiect, creat cu: {prop:val,}.
Eu folosesc aceasta functie ajaxSend(), cum e in exemplu de dupa ea.
Cod: Selectaţi tot
<script>
/* Ajax Function
Send "data" to "php", using the method added to "via", and pass response to "callback" function
data - json object with data to send, name:value; ex.: {"name1":"val1", "name2":"2"}
php - address of the php file where data is send
via - request method, a string: 'post', or 'get'
callback - function called to proccess the server response
*/
function ajaxSend(url, data, via, callback){
var obajx = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); // XMLHttpRequest object
//put data from "data" into a string to be send to "php"
var str_data ='';
for(var k in data){
k = k.toString(); //convert numeric key to string
//build the string with data to be sent
str_data += k +'='+ data[k].toString().replace(/\?/g, '%3F').replace(/=/g, '%3D').replace(/&/g, '%26').replace(/[ ]+/g, '%20').replace(/[\+]/g, '%2B') +'&';
}
str_data = str_data.replace(/&$/, ''); //delete ending &
//send data to php
obajx.open(via, url, true);
if(via =='post') obajx.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
obajx.send(str_data);
//check the state request, if completed, pass the response to callback function
obajx.onreadystatechange = function(){
if(obajx.readyState == 4){
/// alert(obajx.responseText); //for debug
callback(obajx.responseText);
}
}
}
//Example Usage
var form_data = {'id1':'val 1', 'id2':'val 2'}; //object with data to send
ajaxSend(form_data, 'test.php', 'post', function(resp){
alert(resp);
});
</script>
Cod: Selectaţi tot
$id1 = trim($_POST['id1']);
$id2 = trim($_POST['id2']);
//...
andras
Mesaje:430
La varianta cu sir JSON intr-un cimp hidden nu m-am gindit, der ideea este foarte buna. Voi studia variantele.
Subiecte similare
- parametru din array in query cu laravel
PHP - MySQL - XML Primul mesaj
Salutare,Ultimul mesaj
din frontend primesc urmatorul array:
$arrClienti =
dupa care ii fac implode
$idClienti = preg_replace('/ /i', '', implode( , ,...
Dupa multe sapaturi, am ajuns la concluzia ca nu se poate rula ca parametru o matrice. Doar daca parametrul cu matricea este rulat intr-un loop.... - Setare valori din array in select tag
JavaScript - jQuery - Ajax Primul mesaj
Salut am un array cu orele de functionareUltimul mesaj
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:... - Indexi valorilor din array care fac suma
PHP - MySQL - XML Primul mesaj
Salutare,Ultimul mesaj
am un array cu urmatoarele numere:
arr =
si o variabila, care poate contine numere intregi de la 50 pana 750 (750 este suma...
Mulțumesc mult marplo, este ceea ce îmi trebuie - implode(): Passing glue string after array is deprecated
PHP - MySQL - XML Primul mesaj
Dupa 7 ani !Ultimul mesaj
Acum, revazand o veche aplicatie cu codul Multiple Select Drop Down list cu tabel 3 coloane +1; am constatat ca datorita upgradarii...
OK ! Eu nu am inteles despre ce parametri era vorba. S-a rezolvat, multumesc pentru promptitudinea cu care mi-ai raspuns ! TOATE CELE BUNE !!! - Eroare la un formular cu PHP
PHP - MySQL - XML Primul mesaj
Salut. Am si eu o problema. In primul rand nu stiu daca am postat unde trebuie si am cautat pe forum ceva asemanator cu problema mea insa nu am...Ultimul mesaj
Am rezolvat. Multumesc oricum pentru timpul acordat. Am folosit phpmailer pt ca cei de unde am webhostul asa lucreaza. Multumesc inca o data ! - Formular de contact cu upload imagini
Scripturi de pe site Primul mesaj
Salutare si la multi ani!Ultimul mesaj
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script.