首页 > 解决方案 > 使用 XMLHTTPREQUEST POST 响应重新加载页面

问题描述

我有一个 XMLHTTPREQUEST,请求返回一个带有 HTML 页面的字符串,我想在页面上收费(HTML 包含 Js 和 CSS),但我不知道该怎么做。这是我的代码:

xhr.onreadystatechange= function(){
      if (xhr.readyState ===4){
        if (xhr.status ===200){
            try{
                var data = JSON.parse(xhr.responseText);
                if(data.success){
                //.......here i obtain the HTML with xhr.repsonse;
                }else{
                    toastAlert(1,data.msg_response);
                }
            }
            catch{
                console.log("......")
            }
        }else{
            toastAlert(1,"......");
        }
      }
    };

标签: javascripthtmlxmlhttprequest

解决方案


您可以使用innerHTMLDOM 元素的属性来设置解析响应字符串并添加到 DOM。

MDN 链接:https ://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML

例子:

document.getElementById('container').innerHTML = '<div>XHR Response...</div>';

这种方法不会刷新整个页面,但它允许您使用 AJAX 重新加载一些基本的页面内容。我鼓励你看看 Turbolinks 项目:https ://github.com/turbolinks/turbolinks

干杯。


推荐阅读