Avatar billede DePlex Nybegynder
08. april 2011 - 19:39 Der er 6 kommentarer og
1 løsning

Sende værdier i en database uden at opdatere

Jeg er en hat til AJAX og derfor vil jeg gerne have hjælp til at sende oplysninger i min database uden at mine brugere skal opdatere siden. Jeg vil gerne have noget kode som jeg kan rette og gerne med forklaring så jeg lærer noget.

På forhånd tak.
Avatar billede aaberg Nybegynder
08. april 2011 - 21:11 #1
Jeg vil anbefale at bruge jquery ( www.jquery.com ). Dette er et javascript bibliotek du inkludere i headeren på din side. JQuery gør mange ting, og en af dem er at gøre ajax super nemt.

Du kan bruge jquery.post() funktionen til at poste noget til serveren asynkront.
Tjek dokumentationen her:
http://api.jquery.com/jQuery.post/

Et eksempel:

var felt1Val = $("#input1").val();
var felt2Val = $("#input2").val();

$.post('test.html', {felt1: felt1Val, felt2: felt2Val}, function(data) {
  alert(data);
});

Ovenstående javascript henter først værdierne fra inputfelterne med id input1 og input2. Derefter kalder den jqeury's post funktion, som i dette tilfælde poster til test.html. Post-funktionen der bruges i eksemplet har følgende prototype

$.post(url, data, callbackFunction);
url: url'en du poster til.
data: post-data der inkluderes i post-requesten.
callbackFunction: en funktion der bliver kaldt, når serveren returnere et response. I ovenstående eksempel sender den resultatet til en alert() popup.
Avatar billede DePlex Nybegynder
08. april 2011 - 21:22 #2
Hvordan definere jeg så de informationer jeg får sendt i f.eks. et php script så jeg kan indsætte det i en database?
Avatar billede aaberg Nybegynder
08. april 2011 - 21:32 #3
Aner det ikke. Jeg har kun programmeret ca 2 linjer php i mit liv. Men selve det at gemme værdierne i databasen, har egentlig ikke noget at gøre med selve ajax-kaldet. Du gemmer i databasen på fuldstændig samme måde, som ville gøre det om det var et almindeligt post-back kald.
Avatar billede DePlex Nybegynder
08. april 2011 - 22:00 #4
aaberg_cc opret svar :-)
Avatar billede aaberg Nybegynder
08. april 2011 - 22:25 #5
svar :)
Avatar billede olebole Juniormester
09. april 2011 - 00:52 #6
<ole>

jQuery for sende et sølle Ajax kald ...?!??!!!  :D

Så let kan det gøres uden 80+ KB kode:


function ajaxPost() {
    var sFelt_A = document.getElementById("felt_a").value,
    sFelt_B = document.getElementById("felt_b").value,
    oHttp = new XMLHttpRequest();
    oHttp.open("post", "http://www.domain.dk/side.php", true);
    oHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
    oHttp.onreadystatechange =     function(){
        if (oHttp.readyState<4) return;
        alert(oHttp.responseText);
        oHttp = null;
    }
    oHttp.send("fieldA="+encodeURIComponent(sFelt_A)+"&fieldB="+encodeURIComponent(sFelt_B));
}



- og du henter variablerne med $_GET['fieldA'] og $_GET['fieldB']

/mvh
</bole>
Avatar billede olebole Juniormester
09. april 2011 - 00:52 #7
Sorry ... $_POST['fieldA'] og $_POST['fieldB']
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester