我将一些用于注册的表单值发布到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);
这是在发帖,我可以在POST部分来源的Firebug中看到它
firstname=name&lastname=name&emailid=mymailid&password=123123
但是当我在动作中打印$ this->数据时,它并没有显示任何值。我甚至使用了$ _POST,它也返回了任何东西..
我在这里做错了什么??
答案 0 :(得分: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);
答案 1 :(得分:0)
尝试控制器如下:
$this->params['url']; // this will give an array of parameters
或者,$this->request['url']; // this will give an array of parameters