Я хотел бы спросить вас, как я могу отправить запрос ajax с помощью сериализации по форме jQuery и получить ответ JSON от контроллера? Я пытался много решений, но никто из них не работал для меня. У меня есть небольшой опыт в этом вопросе.Отправка jQuery.serialize формы через POST, ожидая ответа JSON от контроллера
Можете ли вы привести хороший пример? Спасибо!
- Отправить сообщение с сериализованной формой (POST) с помощью AJAX действий
- процесса в функции контроллера и получить ответ JSON в AJAX -> успеха
Я использую CakePHP 2.4.1
Мой Аякса запрос
$.ajax({
type: "post",
url: location.pathname + "/edit",
data: data,
success: function(response) {
$("#content").html(response); // i would like to recieve JSON response
alert(response); // here ;C
},
error: function(){
alert("error");
}
});
часть моей функции в контроллере
public function admin_edit(){
//................ some logic passed
if($this->request->is('ajax')){
$this->layout = 'ajax';
$this->autoRender = false;
$this->set(compact('user'));
$this->disableCache();
foreach($this->request->data['User'] as $key => $value){
if(empty($value)){
unset($this->request->data['User'][$key]);
}
}
$this->User->id = $this->request->data['User']['id'];
if($this->User->save($this->request->data)){
$this->Session->setFlash('Użytkownik został zmodyfikowany');
return $this->redirect(array('action' => 'index'));
}
$this->Session->setFlash('Nie zmodyfikowano użytkownika');
}
}
Что я хотел бы, чтобы получать это JSON ответ от контроллера. пример
[{"id":"1", "username":"test", ... }]
Вы пытались использовать [serialize] (http://book.cakephp.org/2.0/ru/views/json-and-xml-views.html#using-data-views-with-the-serialize-key) (например, '$ this-> set ('_ serialize', array ('posts'));')? – Nunser
Да, но это не сработало :( – elharion
Что это за ошибка? – Nunser