ajax不适用于opera

时间:2012-08-22 12:59:31

标签: javascript jquery ajax opera

我的ajax代码在Opera中不起作用,但是,它适用于所有其他主流浏览器:

$(function() {  
$("a").on('click', function(e) {
    var href = $(this).attr('href');
    $.ajaxSetup({
        beforeSend:function(xhr) { $('div.imagePlace').animate({height:      '10px'}); },
    });
    $.ajax();
    e.preventDefault();

    setTimeout(function() {
    $.ajax({
        url: href,
        dataType: "html",
        success:function(result) {
            $('.imagePlace').html(result)
            $('.imagePlace').animate({height: '500px'})
        }
    });
        }, 400);
});


    });

有谁能看出歌剧中的问题是什么?提前谢谢!

1 个答案:

答案 0 :(得分:0)

Opera有一个名为Dragonfly的调试工具。转到“工具”菜单 - >高级 - > Opera Dragonfly 如果您没有“文件”菜单栏,请单击“菜单” - >页面 - >开发人员工具 - >打开Opera Dragonfly

打开它后(在您正在处理的页面上打开它),单击Scripts选项卡(它可能会要求您刷新页面,执行此操作)并下拉到外部js文件。找到代码后,可以通过单击左侧的行号在$.ajax()行上设置断点。现在,触发您的代码,您将看到它将在该JavaScript行中断。然后,您可以使用检查选项卡(底部,中间)确保正确设置所有变量。您也可以单步调试JavaScript。

您要做的另一件事是添加错误函数,如下所示:

$(function() {  
$("a").on('click', function(e) {
    var href = $(this).attr('href');
    $.ajaxSetup({
        beforeSend:function(xhr) { $('div.imagePlace').animate({height:      '10px'}); },
    });
    e.preventDefault();
    setTimeout(function() {
    $.ajax({
        url: href,
        dataType: "html",
        success:function(result) {
            $('.imagePlace').html(result)
            $('.imagePlace').animate({height: '500px'})
        }
        error: function(xhr, textStatus, errorThrown) {
        alert(errorThrown);
        }
    });
        }, 400);
});

});

看看是否能为您提供更多信息。