Pagina 1 din 1
Reload date din pagina cu Ajax
Scris: Vin Sep 18, 2015
de andras
Salut,
Am o pagina (fisier.php) pagina pe care o incarc cu o functie ajax(). Pe pagina am un buton care salveaza in baza de date. Dupa salvare cum apelez din nou aceeasi functie ajax pentru reimprospatarea datelor din pagina? Am renuntat la window.location sau header("Location:"). Multumesc.
Reload date din pagina cu Ajax
Scris: Vin Sep 18, 2015
de andras
Cred ca am gasit: pun la butonul respectiv la onclick="apeleazaAjax();" iar in pagina pun in JS:
Cod: Selectaţi tot
<script type="text/javascript">
function apeleazaAjax(){
var form_data = {'name':'Nume', 'pass':'Parola'};
ajaxSend(form_data, 'ajaxtab1.php', 'post', function(resp){
$('#idtab1').html(resp);
});
}
</script>
care trimite la functia ajaxSend() aflata in fisier.js si pe care am folosit-o si la incarcarea paginii. Aici parametri JSON sint doar demonstrativi.
Edit:
Tot n-am rezolvat problema: ar trebui sa trec dintr-o functie PHP (INSERT/ UPDATE in BD) intr-o functie ajax de reincarcare a paginii, functie care exista deja in fisier.js, ceea ce nu prea se poate. Cum se rezolva de obicei astfel de situatii?
Multumesc.
Reload date din pagina cu Ajax
Scris: Sâm Sep 19, 2015
de MarPlo
Salut
Daca vrei sa dai reload la pagina dupa executia functiei Ajax, cel mai simplu e sa aplici acest cod in functia pt callback:
Reload date din pagina cu Ajax
Scris: Dum Sep 20, 2015
de andras
Scuze, cred ca eu nu m-am exprimat clar: nu vreau sa folosesc window.location.reload(true), vreau ca dupa actionarea butonului Salvare sa nu se reincarce toata pagina, ci numai tabela html (continuta in pagina) sa se reimprospateze si sa contina si noua inregistrare salvata in BD. Pentru asta imi trebuie ajax, dar cum folosesc, unde plasez functia? Pot folosi direct ajax dupa INSERT (care e functie PHP)? Cred ca nu. Exista vreun artificiu? Multumesc.
Reload date din pagina cu Ajax
Scris: Dum Sep 20, 2015
de MarPlo
Ideea ar fi asa:
1. In pagina se adauga tabelul html intr-un <div> cu un ID:
2. Scriptul PHP care e apelat prin Ajax si salveaza datele in baza de date (ajaxtab1.php), sa returneze ca raspuns (cu "echo") tabelul html cu noile date.
Cod: Selectaţi tot
<?php
// primeste datele de la pagina
// prelucreaza si salveaza datele
$tab_html = ''; // va contine tabelul html cu noile date
// preia datele cu Select din baza de date si le adauga in $tab_html intr-un <table> html
echo $tab_html; //returneaza tabelul la browser
3. Functia Ajax apelata cu butonul Salvare ar trebui sa primeasca de la PHP, ca raspuns, intreg tabelul html cu noile date pe care vrei sa-l actualizezi in pagina. Apoi va inlcui coninutul din <div> cu noul tabel.
Cod: Selectaţi tot
function apeleazaAjax(){
var form_data = {'name':'Nume', 'pass':'Parola'};
ajaxSend(form_data, 'ajaxtab1.php', 'post', function(resp){
document.getElementById('table_1').innerHTML = resp;
});
}