IE7和IE6中的jQuery .ajax方法无法正常运行,但在Firefox中可以正常运行

发布于 2021-01-31 17:47:21

我更改了使用.ajax方法而不是.load的实现,它在Firefox中可以正常工作,但在IE7或IE6中却不能:

    $('ul#coverTabs > li > a').live('click', function(event) {

    // Find href of current tab
    var $tabValue = $(this).attr('href');

    $.ajax({
        type: "GET",
        cache: false,
        dataType: "html",
        url: $(this).attr('href'),
        success: function(data){

        $(data).find('.benefitWrap').each(function(){

            var $benefitWrap = $(this).html();

            $('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>'));

        });

       }

    });

    event.preventDefault();

});

为了达到目标,这已经使我丧命。

任何想法,我要去哪里错了?

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    我不小心弄清楚了问题所在。

    此变量中引用的链接:

    var $tabValue = $(this).attr('href');
    

    最后有一个哈希值,如下所示:

    https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7850#a1
    

    这会导致AJAX在IE的两个版本中掉落。

    使用以下代码:

    var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
    

    盖茨摆脱它,现在可以工作了:)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看