からデータを取得するトラブル:ヒストリ.jsを使用するHTML5 pushState。私はこのように、History.jsのState.dataにデータを設定することができます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ではありませんが、明らかな値のない空のオブジェクトです。
おかげで、 スコット
ありがとうMohamed、私はあなたに質問したいと思います。pushStateの3番目のパラメータで、アラビア語を含むURLを使用したことがありますか? http://stackoverflow.com/questions/16259226/history-js-pushstate-and-arabic-words-in-urls –
私は同じ問題を抱えており、私はデータ内の状態パラメータのみを送信できます。私はそれを取り戻すことはできません他のものを保存します。私はそれが問題だと思う –