Javascript 使用XMLHTTPREQUEST POST响应重新加载页面
我有一个XMLHTTPREQUEST,请求返回一个字符串,其中包含一个HTML页面,我想在该页面上收费(HTML包含Js和CSS),但我不知道怎么做。这是我的密码: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
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使您可以做相反的事情——发送请求而不重新加载页面。哦,我明白了,我在这方面的概念还不清楚,因此如果不可能,我需要重构方法,谢谢您的建议。没问题。如果你觉得答案相关且有帮助,别忘了投赞成票。:)