2012-06-25 29 views
3

Ajax的功能在途中http://mysite/playlist-edit/3錯誤500 Symfony2的項目中使用Ajax時

的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內部服務器錯誤

正如你可以在JavaScript代碼http://mysite/playlist-edit/%5Bobject%20Object%5D看到其實並沒有在JavaScript的URL,它應該是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

您的客戶對象有一些東西。它看起來像客戶 - > ID是一個對象...你應該看看併發布你的日誌關於這個錯誤。 – AlterPHP

+0

我討厭問明顯,但是你的JavaScript代碼在一個樹枝模板? – MDrollette

+0

是的,它是在樹枝模板 –

回答

1

{id}參數我沒有想到這一點。但我改變了$ .post$ .ajax現在正確的URL被請求。

1

你的操作方法應該命名爲:

public function applySortingAction($id){ 
} 

$id是您的save_sorting路線

+0

感謝這一點,但它實際上不是問題,請參閱我的編輯。 –