से मुसीबत को पुन: प्राप्त डेटा मैं History.js की State.data में डेटा सेट कर सकते हैं, इस तरह:इतिहास.जेएस का उपयोग कर एचटीएमएल 5 पुशस्टेट। 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 विवरण पर एक ब्रेकपाइंट सेट, क्रोम में, मैं स्पष्ट रूप से देख सकता हूं कि 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 परिभाषित किया गया है, और शून्य नहीं है, लेकिन यह किसी खाली मूल्य के बिना एक खाली वस्तु है।
धन्यवाद, स्कॉट
धन्यवाद मोहम्मद, कृपया मैं आपसे पूछना चाहता हूं, क्या आपने कभी पुशस्टेट के तीसरे पैरामीटर में अरबी शब्द वाले यूआरएल का उपयोग किया है। http://stackoverflow.com/questions/16259226/history-js-pushstate-and-arabic-words-in-urls –
मुझे एक ही समस्या है और मैं डेटा में केवल राज्य param को भेजने का प्रबंधन कर सकता हूं, और यदि मैं कोशिश करता हूं कुछ और बचाओ मैं इसे वापस नहीं कर सकता। मुझे लगता है कि सवाल था –