我目前正在創建一個網站。我被卡住的問題是我無法使用Javascript重定向到另一個ASPX頁面。這裏是我的代碼:Javascript重定向不工作ASP.NET
<asp:Button ID="Save" runat="server" Text="Schedule" CssClass="vs-btn mT10" OnClientClick="return SendFormValuesForXml(); return false;" />
上面的Javascript函數執行AJAX調用,併成功後我重定向到另一個頁面,其中有幾件事情正在執行。 AJAX呼叫轉到這裏:
var responseString =「」;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/MakeXml",
dataType: "json",
data: "{'data':'" + stringToSend + "'}",
async: false,
cache: false,
success: function (result) {
debugger;
window.location.reload(true);
var valuationUrl = window.location.protocol + "//" + window.location.host + "/ValuationList.aspx";
window.location.assign(valuationUrl);
return false;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
現在一切正常,除了成功函數中的重定向。任何想法是什麼干擾的JavaScript? 附加信息:
- 沒有更新面板正在頁面上,或者網站的其他頁面。
- 瀏覽器不會拋出任何錯誤,但Chrome瀏覽器'jquery.min.map'找不到錯誤。
我迄今爲止嘗試:
- document.location.replace(valuationUrl);
- location.href = valuationUrl;
- $(location).attr('href',valuationUrl);
這是在堆棧溢出的這個link提及的所有其他選項。
更新:不好解決我採用 做了很多事情,比如到一個不可見的按鈕,其點擊運行服務器端功能重定向頁面和其他的東西,所有的人都失敗了。 我所做的是我設置一個隱藏的字段爲0,然後將其值更新爲1.稍後當同一頁面加載時,我檢查它的值是否爲1,因此我強制重定向到下一頁。
您可以使用'window.location.href =「/valuationlist.aspx」'。你不需要做任何協議的東西。 – royhowie 2014-09-03 16:51:53
不,這沒有奏效。我應該刪除'reload()'嗎? – FreshDev 2014-09-03 17:04:55
是的,這應該是成功塊下的唯一代碼行(除非在重新加載之前還需要做其他事情)。 – royhowie 2014-09-03 17:07:06