How to change url after success in ajax without page reload

前端 未结 3 979
孤城傲影
孤城傲影 2020-12-24 02:23

This is the ajax



        
相关标签:
3条回答
  • 2020-12-24 03:02

    Use the browser history to change the url bar in JS.

          history.pushState()
         history.replaceState()
    

    https://developer.mozilla.org/en-US/docs/Web/API/History_API

    0 讨论(0)
  • 2020-12-24 03:11

    You can do this to your success action :

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

    See this post to Modify the URL without reloading the page for a basic how-to.

    Additional Note:

    1. The first parameter is the data we'll need if the state of the web page changes, for instance whenever someone presses the back or forwards button in their browser. Note that in Firefox this data is limited to 640k characters.
    2. title is the second parameter which can be a string, but at the time of writing, every browser simply ignores it.
    3. This final parameter is the URL we want to appear in the address bar.

    It's now available in most "modern" browsers.

    0 讨论(0)
  • 2020-12-24 03:20

    try this

    $(".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");
        }
    });
    

    });

    0 讨论(0)
提交回复
热议问题