Если я отправляю данные из атрибута привязки:
<a id="123">foo</a>
Без <form>
вокруг него,
Использование $ .post () jquery на одном из моих контроллеров:
$('.add-fav').click(function() {
var id = $(this).attr('id');
$.post('/ajax/addFavorite', function(data){
id : id
}, 'json');
});
Как я могу получить данные в этом контроллере?Я не использую модель для проверки чего-либо, поэтому использование встроенного в Cake соглашения о Formhelper не должно иметь значения.
public function addFavorite() {
$this->autoRender = false;
$bar = $_POST['id'] // normally I'd do this to get '123' from the anchor id, but it doesn't work since it wasn't submitted within a form
$dataBack = json_encode($bar);
if($this->RequestHandler->isAjax()) {
if($this->Session->read('Auth.User')) {
return $dataBack;
}
}
}
Я могу отправить ассоциативный массив json_encoded в качестве данных обратно в $ .post (),но я не могу отправить то, что первоначально было отправлено обратно (например, идентификатор, который проходит через контроллер и отправляет его обратно).Я здесь упускаю что-то фундаментальное или это невозможно сделать без отправки данных в поле ввода (возможно, скрытое) внутри <form>
?