我无法修复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代码无法工作)。有没有办法从我们的服务器重新加载这个网页?
答案 0 :(得分:1)
在您的操作方法上,您可以通过返回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");
}
}