javascript - 使用 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,"......");
}
}
};
解决方案
您可以使用innerHTML
DOM 元素的属性来设置解析响应字符串并添加到 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
干杯。
推荐阅读
- laravel-5 - Zizaco/Entrust 多方法过滤器
- javascript - Webpack 4:如何从 Node 模块中提取 CSS?
- python - Python:使用 argparse 读取命令行参数以及来自外部函数的参数
- reactjs - React 检查 `Route` 的渲染方法
- php - 使用加入或别名获取具有相同报告电子邮件地址的用户的详细信息
- python - Pandas:数据框和用于定义它的 numpy.array 之间的关系
- tsql - 遍历记录以构建层次结构
- android - 从 response.body 获取数据会在 android 中提供 null uisng 改造
- linux - 仅列出 linux 中的数字目录名称
- python - 在 Python 中将模块用作单例 - 可以吗?