2012-06-25 2 views
3

Аякса функция на маршруте http://mysite/playlist-edit/3Ошибка 500 при использовании Ajax в Symfony2 проекта

Javascript:

$("#applySort").click(function(){ 
     var list = $("#sortable").sortable('toArray'); 

     $.post({ 
       type: 'POST', 
       url: " {{ path('save_sorting', { 'id' : customer.id}) }} ", 
       data: { "list" : JSON.stringify(list) }, 
       success: function(data) { 
        alert("success"); 
       } 
     }); 
     return false; 
    }); 

Маршрут:

save_sorting: 
    pattern: /save-sorting/{id} 
    defaults: { _controller: SomeApiBundle:Customer:applySorting} 
    requirements: 
     _method: POST 

Регулятор (пусто):

private function applySortingAction($id){ 

} 

Ошибка:

POST http://mysite/playlist-edit/%5Bobject%20Object%5D 500 Internal Server Error

Как вы можете видеть в коде яваскрипта http://mysite/playlist-edit/%5Bobject%20Object%5D на самом деле не URL в JavaScript, он должен быть http://mysite/save-sorting/3.

JQuery, кажется, вызывает неправильный URL.

Request-Header 
Accept */* 
Accept-Encoding gzip, deflate 
Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 
Connection keep-alive 
Cookie PHPSESSID=rkdre4frkoidgo3n1hsi4th7v5 
DNT 1 
Host gartenfernsehen 
Referer http://mysite/playlist-edit/3 
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0 
X-Requested-With XMLHttpRequest 

Response-Header 
Connection close 
Content-Length 0 
Content-Type text/html 
Date Mon, 25 Jun 2012 06:21:07 GMT 
Server Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 
X-Powered-By PHP/5.3.8 

Любые идеи, почему я получаю эту ошибку? Я замечаю, что http://mysite/playlist-edit/%5Bobject%20Object%5D на самом деле не так, но я не знаю, как это создается.

+0

Есть что-то с вашим объектом-клиентом. Он выглядит как customer-> id - объект ... Вы должны посмотреть и опубликовать свой журнал об этой ошибке. – AlterPHP

+0

Мне не нравится спрашивать очевидное, но ваш код javascript в шаблоне ветки? – MDrollette

+0

Да, это в шаблоне twig –

ответ

1

Я не ожидал этого. Но я изменил $ .post до $ .ajax и теперь запрашивается правильный url.

1

Ваш метод действия в контроллере должны быть названы:

public function applySortingAction($id){ 
} 

$id является {id} параметром вашего save_sorting маршрута

+0

Спасибо за это, но на самом деле это не проблема, см. Мое редактирование. –

Смежные вопросы