2016-06-29 5 views
9

यह ajaxपृष्ठ पुनः लोड बिना ajax में सफलता के बाद यूआरएल बदलने के लिए

$(".urut").change(function() { 
 
    $.ajax({ 
 
    url: "<?php echo base_url(); ?>categories/brand/<?= $link_brand; ?>?l=<?= $l; ?>&h=<?= $h; ?>&city=<?= $city; ?>&city_name=<?= $city_name; ?>&ket=view", 
 
    type: "POST", 
 
    data: "urut=" + $(".urut").val(), 
 
    success: function(data) { 
 
     $("#result").html(data); 
 
    } 
 
    }) 
 
})

यह काम करता है, लेकिन मैं क्योंकि मैं कई मापदंडों वहाँ और निश्चित रूप से है यूआरएल को बदलना चाहते हैं data: "urut="+$(".urut").val(), पैरामीटर के साथ-साथ।

+0

यदि आप यूआरएल बदलते हैं तो इसे पुनः लोड करें। क्षमा करें अगर मैंने आपके प्रश्न को गलत समझा। अगर मैंने – guradio

+0

को स्पष्ट किया है तो आप 'AJAX' अनुरोध में अधिक पैरामीटर जोड़ने की आवश्यकता के कारण पृष्ठ को फिर से लोड क्यों करेंगे? मुझे यकीन नहीं कि मैं समझा हूँ। (साइड नोट, क्या आप जानते थे कि आप कुंजी-मूल्य जोड़े वाले ऑब्जेक्ट को पास कर सकते हैं?) – Assimilater

+2

'history.pushState()। history.replaceState() 'https://developer.mozilla.org/en-US/docs/Web/API/History_API – ArtisticPhoenix

उत्तर

15

अब आप सबसे "आधुनिक" ब्राउज़रों में यह कर सकते हैं!

आप अपनी सफलता कार्रवाई करने के लिए ऐसा कर सकते हैं:

window.history.pushState("object or string", "Title", "/new-url"); 

एक बुनियादी कैसे के लिए Modify the URL without reloading the page को यह यह पोस्ट देखें।

अतिरिक्त नोट:

  1. पहले पैरामीटर डेटा हम की आवश्यकता होगी है अगर वेब पृष्ठ परिवर्तनों के राज्य, उदाहरण के लिए जब भी किसी को वापस या अपने ब्राउज़र में आगे बटन दबाता है। ध्यान दें कि फ़ायरफ़ॉक्स में यह डेटा 640k वर्णों तक सीमित है।
  2. शीर्षक दूसरा पैरामीटर है जो एक स्ट्रिंग हो सकता है, लेकिन लेखन के समय, हर ब्राउज़र बस इसे अनदेखा करता है।
  3. यह अंतिम पैरामीटर वह URL है जिसे हम पते बार में दिखाना चाहते हैं।
+0

बहुत बुरा मैंने इसे लगभग एक मिनट तक हराया :) – ArtisticPhoenix

+1

हाहा, आप सही हैं। मैंने इसे पहले नहीं देखा था। : डी –

+2

यह ठीक है, कोई बड़ी बात नहीं ... महान दिमाग एक जैसे सोचते हैं। – ArtisticPhoenix

2

कोशिश इस

$(".urut").change(function() { 
$.ajax({ 
    url: "<?php echo base_url(); ?>categories/brand/<?= $link_brand; ?>?l=<?= $l; ?>&h=<?= $h; ?>&city=<?= $city; ?>&city_name=<?= $city_name; ?>&ket=view", 
    type: "POST", 
    data: "urut=" + $(".urut").val(), 
    success: function(data) { 
     $("#result").html(data); 
     window.history.pushState("Details", "Title", "<?php echo base_url(); ?>/yourNewPage"); 
    } 
}); 

});

संबंधित मुद्दे