我正在尝试使用jQuerys post-function将表单发布到CakePHP脚本。
像这样:
jQuery的:
$('#submit_btn').click(function(){
//Code to prevent redirect
dataString = 'test=testdata';
$.post('cakephp/forms/output', dataString, function(response){
alert(response);
})
});
CakePHP的
function output(){
pr($this->data); # Print nothing
pr($_POST); # Print test => testdata
$this->render('view','ajax'); # Render ajax-friendly
}
所以$_POST
不是空的,$this->data
是......怎么回事?
发布数据的表单元素i来自aja,如果在这种情况下重要的话。
答案 0 :(得分:5)
$ this->数据要求您的变量名称采用
格式data[Model][Property]
对于您的示例,将dataString更改为data['ModelName']['test']=test data
它应该有用。
答案 1 :(得分:0)
可能只有当POST数据符合现有模型属性时才会预先填充控制器data attribute,就像数据通过表单助手进行POST一样。因此,您可能必须发送“Test.something = testdata”,以便您可以在控制器中访问$ this-> data [“Test”] [“something”]。