JQuery POST для CakePHP $ это-> данные - PullRequest
3 голосов
/ 23 марта 2011

Я пытаюсь использовать пост-функцию jQuerys для отправки формы в 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 - это ... почему ??

Элемент формыЯ отправляю данные, полученные из aja, если в этом случае это имеет значение.

Ответы [ 2 ]

5 голосов
/ 23 марта 2011

$ this-> data ожидает, что имена ваших переменных будут иметь вид

data[Model][Property]

Для вашего примера измените dataString на data['ModelName']['test']=test data

, и оно должно работать.

0 голосов
/ 23 марта 2011

Может случиться так, что атрибут контроллера *1002* будет заполнен только тогда, когда данные POST соответствуют существующему атрибуту модели, например, когда данные POST вводятся через помощника по форме.Поэтому вам, возможно, придется отправить «Test.something = testdata», чтобы вы могли получить доступ к $ this-> data ["Test"] ["что-то"] в контроллере.

...