Gå til innhold

Sende variabler med Ajax (jQuery) til PHP


Anbefalte innlegg

Hei :)

 

Jeg driver for tiden og leker endel med PHP og jQuery. Jeg føler og mestre det ganske bra, men så slo det meg. Hvordan kan jeg sende variabler fra javascript til php? må jeg bruke json? forstår ikke helt hvordan jeg skal gjøre dette. Noen som har lyst til å gi meg et kort eksempel, har sett litt på jQuery sine egne nettsider (dokumentasjon etc) men klarer likevel ikke helt forstå hvordan det fungerer?

 

Takker for all hjelp jeg kan få :)

Lenke til kommentar
Videoannonse
Annonse

json brukes vel til å returnere fra php til js, ikke omvendt.

 

Du gjør slik:

$.ajax({
 method:"get",
 url:"file.php",
 data:"parm1=" + val1 + "&parm2=" + val2,
 beforeSend(data)
 {
   ;//gjør noe
 },
 success:function(data)
 {	
   ; //gjør noe
 }

 

Så å sende variabler fra js til php gjør du med data-parameteren. Skal du bruke json, bruker du dataType i tillegg.

Lenke til kommentar

jQuery er ganske simpelt, men kan også bli gjort ganske avansert, ikke at jeg har mye erfaring, men klarer pusle ihop slike små script :)

 

//---jQ Insert into DB with <a href='#' name='Dette skal jeg sende' id='og dette'>---//

$(document).ready(function() {
  $(".DinFunksjon").click(function() {
     var id=$(this).attr("id");
     var name=$(this).attr("name");
     var dataString = 'id='+ id + '&name='+ name;

     $.ajax
     ({
 type: "POST",
 url: "normal_kontakt_database.php",
 data: dataString,
 cache: false,
 success: function(html) {
           ; //Gjør noe
           $("#favorized").html(html);
 }
     });
  });

});

Jeg legger til at det kan være feil her, kan ikke mye javascript, samt jQuery...

 

Php-delen er rett frem, til mitt eksempel:

if($_POST['id']) {
  $id=mysql_escape_String($_POST['id']);
  $name=mysql_escape_String($_POST['name']);

  mysql_query("INSERT INTO blabla (rad_1,rad_2) VALUES ('$name','$id')");
}
//HTML return
echo "<script>alert('Tusen takk for at du gjorde noe helt idiotisk, ikke gjør det igjen!');</script>"; 


 

Hovedfilen:

<?php
echo "<a href='#' name='jeg liker' id='min_ip'>Post noe dritt/I like this tread</a>";
echo "<span class=\"DinFunksjon\"></span>"; //her returnerer HTML-return

?>

 

Jeg kan notere at name kan være en eller annen string, samt med id.. F. eks ID kan være kalling til remote_ip.. og name kan ver brukernavnet.. og slik kan du lage en legg til i favoritter-knapp, kansje en liker-knapp... MYE annet, men med begrensninger det dette er en litt annen måte å gjøre ting på, gjennom <a>-taggen.

Endret av tROOP4H
Lenke til kommentar

Istedenfor å bruke en string som data kan man bruke et object, det er enklere og man slipper å tenke på å escape verdiene man legger inn.

 


$.post({
 url: "/url/",
 data: {id:1232, name:"test", test:"test&test"},
 success: function(data){
   alert(data);
 }
});

Endret av FraXinuS
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...