重定向到新页面作为对 XHR 发布请求的响应
Redirect to new page as response to XHR post request
我没有办法修复javascript。该页面使用 XHR
function openPOST(url, params, callback) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader('Content-Type', "application/x-www-form-rlencoded");
xmlhttp.send(params);
xmlhttp.onreadystatechange = function() {
if (this.readyState === 4) {
if (xmlhttp.status === 200) {
if (callback) callback(this.responseText);
}
}
}
return xmlhttp;
};
在页面加载时,使用以下查询
document.addEventListener('DOMContentLoaded', function () {
...
function go() {
openPOST("/home/someaction", "query=123", function (count) {
document.querySelector("h1").textContent = count;
});
}
...
go();
...
});
是否可以实现这样的代码来 ASP.NET MVC,以便他移动到另一个页面,但没有将结果放在另一个页面中?
我需要将 POST 请求重定向到页面到其他地址。
下面的代码将结果插入到document.querySelector("h1").textContent
public void someaction() {
Response.Status = "307 Temporary Redirect";
Response.AddHeader("Location", "http://example.com");
}
编辑:用户在他的浏览器中打开了我们网页的旧版本。这个网页对我们的网络服务器进行ajax调用,并将响应作为字符串插入(没有eval(),js代码不起作用)。有什么方法可以从我们的服务器重新加载此网页吗?
在你的操作方法上,你可以通过返回一个Javascript结果来调用Javascript代码。
[HttpPost]
public ActionResult someaction() {
if (Request.IsAjaxRequest()) {
return JavaScript("document.location.href='"http://www.google.com'"");
} else {
return Redirect("http://wwww.google.com");
}
}
相关文章:
- 如何发送作为节点请求响应函数中的代码块的响应
- 如何将请求响应传递给另一个请求
- 跟踪循环中触发的请求-响应
- Flux+Rreact.js-缓存API请求响应
- 对 Expressjs / Nodejs 请求 - 响应处理感到困惑
- 用于忽略先前请求响应的前端 JavaScript 模式
- AJAX 调用从我的 REST API 收到“400 错误请求”响应
- 如何为每个 AJAX 请求/响应事件添加回调
- 在 Phonegap 应用程序中,如何指示正在发生对服务器的请求/响应
- Python - 解析请求响应
- 图形 API 嵌套请求响应
- 为什么 AngularJS 指令适用于硬编码值,但使用 http 请求/响应失败
- 如何获取ajax请求响应中存在的图像的位置,并使用位置绘制线
- NodeJS如何在net模块中实现请求/响应
- Node.js编写http请求响应
- 在这样一个请求-响应周期中加载多个JavaScript
- Angular.js请求/响应Node.js
- 为什么在CasperJS中POST请求响应数据为空,即使相同的请求在Postman中显示数据
- 如何避免POST请求响应未知事件码
- AJAX——可以在请求响应上标记到前一个响应的末尾