如何用ajax响应替换整个html网页?

2022-08-30 19:41:08

在进入具体问题之前,我需要解释一些基本步骤。

首先,有问题的应用程序涉及客户在线预约的管理。

客户在填写美容中心护理表格并提供其信息后进入确认页面。

现在,此页面执行 ajax 请求以将约会存储在数据库上。

如果一切成功,则会显示一个页面,其中包含约会的详细信息以及成功消息。

问题在于页面当前仅显示在响应中,即在选项卡网络控制台浏览器中。

所以我的问题很简单:如何将html页面的整个结构替换为响应中显示的实际结构?

我在网上发现了很多问题,甚至在StackOverflow上也是如此。但所有这些都仅限于附加到 div 上。我不需要挂,也要替换,如何重写html页面。我不知道该怎么做,我需要你的一些建议。<html>

为了完整起见,这是返回给我的代码ajax响应html:

       $.ajax({
          'type': 'POST',
          'url': 'backend_api/ajax_save_appointment',
          'data': postData,
          'success': function(response)
           {
               console.log(response);
           },
           'error': function(jqXHR, textStatus, errorThrown)
           {
               console.log('Error on saving appointment:', jqXHR, textStatus, errorThrown);    
           }
       });

答案 1

如果您的响应包含 和 标记:<head><body>

$("html").html(response);.

如果不是,并且它只是内容,则执行:

$("body").html(response);.


答案 2

如果响应是 html 内容,则可以使用以下代码行:

...
'success': function(response)
       {
           $("body").html(response);
       }
...

更新:

这将很难替换html标签,但你可以做什么:

...
'success': function(response)
       {
           $("html").html($("html", response).html());
       }
...

你用jquery解析响应,获取html的内容并替换当前html的内容