Ajax продолжает возвращать вызывающую страницу

У меня есть этот запрос ajax, который вызывается всякий раз, когда я меняю поле ввода:

$(document).ready(function(){ $('#PostTitle').change(function(){ var inputstring=$("#PostTitle").val(); submitData(inputstring); }); }); function submitData(inputstring){ $.ajax({ type: 'POST', url: '/myWebsite/posts/set_post_images', data: inputstring, dataType: "text", success:function(data){ $("#selectImage").replaceWith($('#selectImage', $(data))); }, error:function(){ $('#selectImage').html("You failed misserably."); }, timeout: 5000 }); } 

Вышеупомянутый код находится в файле add.ctp (представление для контроллера сообщений). Вызываемая функция set_post_images находится в самом контроллере сообщений и выглядит следующим образом:

 public function set_post_images($url = null) { if($url!=null){ $this->set('imageArray', $this->getImages($url)); } else { $this->set('imageArray', array("/img/someImage.png")); } if ($this->RequestHandler->isAjax()) { $this->autoRender = false; $this->layout = 'ajax'; $this->render('/elements/selectImageElement'); } return; } 

То, что я пытаюсь сделать, – это получить существующий элемент из div selectImage, замененный новым элементом. Проблема в том, что ajax продолжает возвращать все содержимое файла add.ctp (файл, из которого вызывается запрос).

Что может быть причиной этого и как я могу это исправить?

Изменить : Решено

$ This-> Auth-> позволяют (массив ( 'set_post_images')); не было установлено, поэтому ответ возвращал всю страницу. После того, как вы подтвердили, что действие можно было поговорить.

Кроме того, в контроллере переменная недоступна через $ url, но через $ this-> data ['url'].

Счастливое кодирование!

Related of "Ajax продолжает возвращать вызывающую страницу"