0

私のサイトには、$.post を使用してデータベースを更新する関数がいくつかあります。これらはすべてFirefoxでは正常に機能しますが、Internet Explorerではまったく機能しません。以下に関数を配置した理由がわかりません。

機能 1:

function removeAd(ad_id) {
    $.post('remove.php', {
        id: ad_id
    }, function() {
        $('.workarea').load('display.php');
    });
};​

機能 2:

$(document).ready(function() {
    $('a#addBanner').click(function() {
        $.post('add.php', {
            task: 'banner'
        }, function() {
            $('.workarea').load('display.php');
        });
    });
});​

機能 3:

$(document).ready(function() {
    $(function() {
        $("#categoryorder").sortable({
            opacity: 0.6,
            cursor: 'move',
            update: function() {
                var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
                $.post("update.php", order)
            }
        });
    });
});​

これらが Firefox では機能するのに IE では機能しない理由を知っている人はいますか? 私はこれにまったく慣れておらず、デバッグはまだ得意ではないので、どんな助けでも大歓迎です

4

1 に答える 1

2

IEには、ajaxリクエストに関するキャッシュの問題があります。使ってみてください

$.ajaxSetup({cache:false});

または、パラメータを追加して、IEが新しいページであると見なし、キャッシュから取得しないようにします

$('.workarea').load('display.php',{getnew:new Date().getTime()});
于 2012-10-24T15:04:26.953 に答える