Javascript 使用XMLHTTPREQUEST POST响应重新加载页面

Javascript 使用XMLHTTPREQUEST POST响应重新加载页面,javascript,html,xmlhttprequest,Javascript,Html,Xmlhttprequest,我有一个XMLHTTPREQUEST,请求返回一个字符串,其中包含一个HTML页面,我想在该页面上收费(HTML包含Js和CSS),但我不知道怎么做。这是我的密码: xhr.onreadystatechange= function(){ if (xhr.readyState ===4){ if (xhr.status ===200){ try{ var data = JSON.parse(xhr.response

我有一个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,"......");
        }
      }
    };

您可以使用DOM元素的
innerHTML
属性设置解析响应字符串并将其添加到DOM中

MDN链接:

例如:

document.getElementById('container').innerHTML = '<div>XHR Response...</div>';
document.getElementById('container').innerHTML='XHR Response…';
这种方法不会进行整页刷新,但它允许您使用AJAX重新加载一些基本的页面内容。我鼓励您看看Turbolinks项目:


干杯。

它包含指向页面的URL字符串还是整个页面的HTML字符串?入口页面是字符串吗?我想是这样,但我需要一些类似于
表单.submit()
,完成后,页面会重新加载响应。您可以使用
位置.href
位置.reload
强制重新加载整个页面,但我认为你在这里做错了什么。如果希望页面在返回响应后进行完全刷新,则不应该使用ajax。AJAX使您可以做相反的事情——发送请求而不重新加载页面。哦,我明白了,我在这方面的概念还不清楚,因此如果不可能,我需要重构方法,谢谢您的建议。没问题。如果你觉得答案相关且有帮助,别忘了投赞成票。:)