0

jquery-uiからsortableを使用してajaxリクエストを送信したいと思います。リストを再ソートすると、何らかの理由で、キャッシュを回避するためにajax呼び出しがクエリ文字列にタイムスタンプを追加しません。このコードが機能しないのはなぜですか?

           $('#categorylist').sortable({
                placeholder: "ui-state-highlight",
                update:function(e, ui){

                    var categorylist = $('#categorylist').sortable('serialize', {attribute:'data-id'});

                    $.ajax({
                        url:'actions_category.php?action=rank',
                        method:'post',
                        data:categorylist,
                        cache:false
                    });

                }
            });
4

2 に答える 2

1

GETおよびHEADリクエストのタイムスタンプのみが追加されます。URLに対してすでにGETリクエストを発行しているPOSTリクエストのIE8を除いて、他のタイプのリクエストには必要ありません。

http://api.jquery.com/jQuery.ajax/

于 2013-01-19T16:31:19.880 に答える
0

サポートされているHTTPメソッドに注意してください

http://api.jquery.com/jQuery.ajax/

cache(デフォルト:true、dataType'script'および'jsonp'の場合はfalse)タイプ:ブール値falseに設定すると、要求されたページがブラウザーによってキャッシュされないように強制されます。注:キャッシュをfalseに設定すると、 HEADリクエストとGETリクエストでのみ正しく機能します。これは、GETパラメーターに「_={timestamp}」を追加することで機能します。このパラメーターは、他のタイプの要求には必要ありません。ただし、IE8で、GETによって既に要求されているURLに対してPOSTが行われる場合を除きます。

于 2013-01-19T16:28:19.367 に答える