Отправка на контроллер с помощью jquery ajax в CakePHP

Я хочу отправить данные контроллеру в CakePHP, но публикация с помощью JQuery всегда приводит к ошибке, и я не могу понять, почему.

На мой взгляд, у меня есть следующий метод, который помещает данные на страницу контроллера

function RenameNode(name, id) { $.ajax({ type: "POST", url: '<?php echo Router::url(array('controller' => 'categories', 'action' => 'rename')); ?>', data: { id: id, name: name }, success: function(){ } }); } 

Мой метод контроллера выглядит так:

 public function rename($id = null, $name = null) { if ($this->request->is('get')) { throw new MethodNotAllowedException(); } if(!$id) { $id = @$this->request->query('id'); } if(!$name) { $name = @$this->request->query('name'); } if (!$id) { throw new NotFoundException(__('No id')); } $category = $this->Category->findById($id); if (!$category) { throw new NotFoundException(__('Invalid category')); } $this->autoRender = false; $this->layout = 'ajax'; if ($this->request->is('post') || $this->request->is('put')) { $this->Category->id = $id; $this->request->data['Category']['name'] = $name; if ($this->Category->save($this->request->data)) { $this->Session->setFlash(__('The category has been updated.')); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash(__('Unable to update the category.')); } } } 

Когда я делаю сообщение с помощью jquery-метода, я продолжаю получать следующее сообщение об ошибке в моем журнале:

 2013-05-20 11:34:25 Error: [NotFoundException] No id Request URL: /cakephp/categories/rename Stack Trace: #0 [internal function]: CategoriesController->rename() 

Когда я комментирую проверку запросов на получение и публикацию, сам контроллер отлично работает, когда я вызываю его с помощью / categories / rename? Id = 1 & name = test. По какой-то причине способ ajax не работает, но я не могу понять, почему. Есть идеи?

Обновить

Я исправил его, изменив следующий код, теперь он отлично работает

  if(!$id) { $id = @$this->request->query('id'); } if(!$name) { $name = @$this->request->query('name'); } 

в

  if(!$id) { $id = @$this->request->data('id'); } if(!$name) { $name = @$this->request->data('name'); }