2010-11-17 14 views
7

Hallo, ich bin ein Neuling mit jQuery und Ajax arbeiten. Ich versuche, Daten mit der Jquery POST-Methode an den Server zu senden. Und die Daten, die ich übergebe, sind eine Zeichenkette. Jetzt kann ich nicht verstehen, wie ich die Daten weitergebe und wie ich die Daten abrufe. Ich habe versucht, nach Artikeln für mein Problem zu suchen, aber ich habe keine gefunden. Ich glaube, mein Problem ist sehr einfach.Pass Daten von jQuery zu PHP für eine Ajax-Post

if (1)//validateStep(step) 
{ 
if(step==1) 
{ 
var data = document.getElementById('hiddenContact').value; 
$.post('/callcenter/admin/postContacts', data); 
} 
} 

Jetzt werde ich den Code für meine postContacts Aktion veröffentlichen, die nicht eine große Sache ist.

Aber ich bin verwirrt, wie die Daten abgerufen werden müssen. Jede Hilfe wird geschätzt. Ich benutze cakePHP, also musste ich autoRender = false verwenden; was die Ansicht optional macht.

Antwort

16

Mit jQuery post Sie eine Callback-Funktion definieren, die ausgeführt wird, wenn die Daten zurückgegeben:

$.post('/callcenter/admin/postContacts', data, function(returnedData) { 
    // do something here with the returnedData 
    console.log(returnedData); 
}); 

Die data in Form sein sollte:

{name: 'value', anotherName: 'another value'} 

, die auf den Postnamen entspricht Das PHP-Ende zugänglich in einfachem PHP wie folgt:

2

Der Datenparameter soll ein Objekt sein, das Schlüssel und Werte hat.

var data = { 
    hiddenContact: document.getElementById('hiddenContact').value 
} 
$.post('/callcenter/admin/postContacts', data); 

dann in PHP können Sie es wie folgt abrufen:

$hiddenContact = $_POST["hiddenContact"]; 

Ich bin kein großer Benutzer CakePHP, aber ich glaube, die CakePHP-Version ist wie folgt:

$hiddenContact = $this->params["hiddenContact"]; 
1
//javascript 
if(step==1) 
{ 
    var data = {'MyFieldName':document.getElementById('hiddenContact').value}; 
    $.post('/callcenter/admin/postContacts', data, function(returnData){ 
     alert('The server said ' + returnData); 
    }); 
} 

//read the post in php 
<? 
    echo 'Your ajax post data was '. $_POST['MyFieldName']; 
?>