2012-04-23 3 views
0

Я отправляю некоторые значения форм, используемые для регистрации в действие контроллера cakePHP. Код, как этотЗапись AJAX на действие контроллера CakePHP

var params='firstname='+encodeURIComponent(firstname) +'&lastname='+encodeURIComponent(lastname)+'&emailid='+encodeURIComponent(emailid)+'&password='+encodeURIComponent(password); 

xmlhttp.open('POST', url, true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.send(params); 

это делает проводку, и я могу видеть его в Firebug в источнике POST разделе, как

firstname=name&lastname=name&emailid=mymailid&password=123123 

Но когда я печатаю $ this-> данные в действии , он не показывает никаких значений. Я даже использовал $ _POST, и он тоже ничего не возвращает.

Что я сделал не так здесь ..?

ответ

0

Вы пропускаете заголовок запроса, который требуется при использовании POST для отправки переменных:

попробуйте вместо этого:

var params='firstname='+encodeURIComponent(firstname) +'&lastname='+encodeURIComponent(lastname)+'&emailid='+encodeURIComponent(emailid)+'&password='+encodeURIComponent(password); 

xmlhttp.open('POST', url, true); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.send(params); 
+0

Я добавил его и использовал $ this-> params ['url']; и $ this-> request ['url'];. Первый показывает только URL-адрес, который я отправляю, а второй - ничего. –

0

попробовать в контроллере, как следующее:

$this->params['url']; // this will give an array of parameters 

Или, $this->request['url']; // this will give an array of parameters

Смежные вопросы