获取AJAX响应的正文标记

时间:2016-09-08 09:21:13

标签: javascript jquery ajax

我有一个Ajax调用:

callAjaxController: function(){
        var url = Routing.generate('ajax_price');

        $.ajax({
            type: "GET",
            url: url,
            cache: false,

            success: function (data, status) {
                // get the <body> markup to replace my actual body page
            }
        })
    },

在我的Ajax响应中,我希望获得<body>标记来替换我的实际正文页。​​

有可能吗?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

假设您的请求检索了您要使用的body标记的内容,您可以使用新内容设置当前html()元素的body(),如下所示:

success: function (data, status) {
    $('body').html(data);
}

或者,如果回复包含<body>标记及其中的所有内容,请使用replaceWith()

success: function (data, status) {
    $('body').replaceWith(data);
}

另请注意,因为您已经销毁了DOM中的所有现有元素,所以您需要使用委托事件处理程序,如果您有任何在代码中处理的现有事件。