0

我正在尝试使用以下代码打印页面的元素:

$('#some_button').click(function(){
    var url = window.location.href;
    var contents = $.get(url);
    alert(contents.responseText);
});

但这会返回一个空白字符串,并且尝试打印contents.status会给我错误:

Uncaught Error: INVALID_STATE_ERR: DOM Exception 11

这段代码在浏览器控制台上运行得很好,所以看起来这是一个加载状态问题。但是因为这是在点击监听器中,所以我不知道如何解决这个问题。

4

1 回答 1

2

$.get默认情况下是异步的,所以像这样使用它:

$('#some_button').click(function(){
    var url = window.location.href;
    $.get(url, function(r){
        alert(r);
    });
});

如果要同步使用,则async : false在参数中使用:

var contents = $.get(url, {
    async : false
});

请注意,这会占用浏览器。

于 2012-04-08T22:32:09.373 回答