3

ajax 機能は進行中ですhttp://mysite/playlist-edit/3

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%5D500 内部サーバー エラー

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が、これがどのように作成されたのかわかりません。

4

2 に答える 2

1

私はこれを期待していませんでした。しかし、$.postを$ .ajaxに変更したところ、正しい URL が要求されるようになりました。

于 2012-06-27T05:58:57.023 に答える
1

コントローラーのアクション メソッドには次の名前を付ける必要があります。

public function applySortingAction($id){
}

$idあなたのルートの{id}パラメータであることsave_sorting

于 2012-06-25T08:11:28.170 に答える