故障檢索數據我可以設置數據到History.js的State.data,就像這樣:使用History.js的HTML5 pushState。從State.data
var pushStateData = {};
function RetrieveSearchResults(type, url, searchData) {//, showResetButton,
controlToFocus, navDirection) {
pushStateData = {
SearchType : type,
SearchData : searchData,
};
RetrievePageResults(true, url, pushStateData);
}
function RetrievePageResults(pushNewUrl, url, pushStateData) {
navigationInProgress = true;
if (pushNewUrl) {
if (window.History) {
window.History.pushState(pushStateData, null, url);
}
$.get(url, pushStateData.SearchData, function (reply) {
$("#search-results").html(reply);
navigationInProgress = false;
});
}
如果我設置一個斷點上window.History.pushState聲明,在Chrome中,我可以清楚地看到pushStateData具有所需的值。
然而,當我嘗試檢索數據:
$(window).bind("statechange", function (e) {
if (!navigationInProgress) {
var State = window.History.getState();
if (window.console && window.console.log) {
console.log("popstate", State, window.location.href);
}
RetrievePageResults(false, State.cleanUrl, State.data);
}
});
當我設置一個斷點上RetrievePageResults聲明, 的State.data對象不再有任何我設置的值。 State.data被定義,並且不是null,但它是一個沒有任何明顯值的空對象。
感謝, 斯科特
謝謝穆罕默德,請問我,你是否曾經在pushState的第三個參數中使用過一個包含阿拉伯語單詞的URL。 http://stackoverflow.com/questions/16259226/history-js-pushstate-and-arabic-words-in-urls – 2013-04-28 04:01:50
我有同樣的問題,我可以設法只發送狀態參數的數據,如果我嘗試保存任何我無法檢索的東西。我認爲這是個問題 – 2015-01-29 10:13:44