javascript - 当我的javascript修改html并显示AJAX结果时,如何在新页面中显示结果?
问题描述
当我单击按钮时,页面由 javascript 修改,但我无法返回初始页面,因为修改后的结果在同一页面上。我希望浏览器将 javascript 修改的页面视为新页面,以便我可以返回初始页面。
<button onclick="showUser();">THANKS </button>
function showUser() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
fnc(this);
var p=JSON.parse(this.responseText);
}
var para= document.createElement("p");
para.setAttribute("id","dynamicpara") ;
para.innerHTML=p[1].name;
var element=document.getElementById("STAR");
element.appendChild(para);
}
};
xhttp.open("GET", "getuse.php", true);
xhttp.send();
}
解决方案
好的,你想简单地回去。我在你的 JavaScript 中找到了这段代码
function myDivert(){
window.location.href="https://tickety-boo-scratch.000webhostapp.com/index1.html";
}
这是重定向你到index1.html
页面。您可以将其更改为
function myDivert(){
window.location.href="https://tickety-boo-scratch.000webhostapp.com";
}
返回原始页面。请注意,index.html
和index1.html
是完全不同的页面。
看来您想在点击后保留中间页面并显示更多内容。在这种情况下,您可以简单地将内容附加到中间页面的某个 div 中。
编辑
我不能完全按照你的意愿去做,但我给你这个想法。在您的方式中,状态更改不会由 URL 表示。你想做一些叫做深度链接的事情。
您可以这样做,window.location.hash
但您需要相应地更改 URL,以便用户可以使用后退或前进按钮来回移动,并且用户仍然可以看到修改的 ajax(如您所说)。
但要完成此操作,您需要一个检查哈希的计时器。
这与用于深度链接的选项卡式界面相同,您可以使用它来实现您想要做的事情。
推荐阅读
- angular - 如何在下拉列表中设置默认第一项 - angular 2
- css - Bootstrap 4:使容器列内的对象延伸到视口边缘
- r - 为栅格堆栈提取多边形内的平均值
- python - 使用 XGboost 作为分类器而不是神经网络的二值图像分类
- php - 为什么当我在 mysql 数据库中合并表时,值会重复?
- unit-testing - 如何在 AutoFixture 中更新夹具的自定义
- c - 我将错误长度的数组传递给函数。为什么我没有收到错误消息?
- c++ - 使用 C++ 模板匹配类型列表中的类型
- parallel-processing - 为什么 Pthread 虚拟内存使用与 OpenMP 不同?
- angular5 - 如何在角度 6 中动态创建元素上绑定事件?