获取AJAX响应的正文标记

Get body markup of an AJAX response

本文关键字:正文 AJAX 响应 获取      更新时间:2023-09-26

我有一个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>标记来替换实际的正文页。

有可能吗?我该怎么做呢?

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

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

或者,如果响应包含<body>标记及其中的所有内容,则使用replaceWith():

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

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