我無法修復javascript。該頁面使用一個XHR重定向到新頁面作爲對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代碼將不起作用)。有什麼方法可以從我們的服務器重新加載這個網頁?
爲什麼不使用jQuery的AJAX調用JavaScript代碼? –
@BonMacalindong,該項目採用純JS,但如果使用jQuery的** ** '函數go_jQuery(){$ 阿賈克斯( 「/家/ someaction」)。完成(功能(計數){ 文件。 querySelector(「h1」)。textContent = count; }); } 頁面不會被重定向到另一個地址,頁面的代碼出現在'document.querySelector(「h1」)。textContent' – juppy
你沒有被重定向的原因是因爲你正在做一個Ajax請求即使您在控制器上設置了重定向所需的響應對象。你可以在這個[SO帖子](http://stackoverflow.com/a/19795466/1504480)上查看答案 –