jQuery POST到CakePHP $ this->数据

时间:2011-03-23 10:54:46

标签: jquery post cakephp-1.3

我正在尝试使用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,如果在这种情况下重要的话。

2 个答案:

答案 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”]。