2010-11-17 13 views
7

के लिए jQuery से PHP तक डेटा पास करें नमस्ते मैं jQuery और अजाक्स के साथ काम कर रहा हूं। मैं Jquery POST विधि का उपयोग कर सर्वर पर डेटा सबमिट करने का प्रयास कर रहा हूं। और जो डेटा मैं पास कर रहा हूं वह एक स्ट्रिंग है। अब मैं समझ नहीं पा रहा हूं कि मैं डेटा कैसे पास करूं और मैं डेटा कैसे प्राप्त करूं। मैंने अपनी समस्या के लिए आलेखों की खोज करने की कोशिश की है, लेकिन मुझे कोई नहीं मिला है। मेरा मानना ​​है कि मेरी समस्या बहुत बुनियादी है।एजेक्स पोस्ट

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

अब मैं अपने postContacts कार्रवाई है, जो एक बड़ी बात नहीं है के लिए कोड पोस्ट करेंगे।

function postContacts() 
{ 
$this->autoRender = false; 
echo '<script>console.log("post contacts");</script>'; 
} 

लेकिन मैं इस बात से उलझन में हूं कि डेटा को कैसे पुनर्प्राप्त किया जाना है। किसी भी मदद की सराहना की है। मैं केकेपीएचपी का उपयोग कर रहा हूं, इसलिए मुझे autoRender = false का उपयोग करना पड़ा; जो दृश्य को वैकल्पिक बनाता है।

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

जिस पर पोस्ट नाम के बराबर:

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

data रूप में होना चाहिए:

उत्तर

16
jQuery post आप एक कॉलबैक फ़ंक्शन जो जब डेटा नहीं दिया है निष्पादित किया जाता है परिभाषित कर सकते हैं के साथ

PHP अंत में सादे PHP में पहुंचा जा सकता है:

echo $_POST['name'];   # prints "value" 
echo $_POST['anotherName']; # print "another value" 
2

डेटा पैराम एक ऐसा ऑब्जेक्ट माना जाता है जिसमें कुंजी और मान हों।

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

फिर PHP में आप इस तरह इसे पुनः प्राप्त कर सकते हैं:

$hiddenContact = $_POST["hiddenContact"]; 

मैं एक बड़ी CakePHP उपयोगकर्ता नहीं हूँ, लेकिन मेरा मानना ​​है कि CakePHP संस्करण इस तरह है:

$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']; 
?> 
संबंधित मुद्दे