Search code examples
phpajaxpostpost-parameter

Ajax post to same page and reload the page without destroying the post parameters


Anyone knows how to preserve the post parameters after windows.location.reload(true) ?

function handler(event,ui)
{
  $(this).find(".thumb").remove();
  $(this).append('<img class="thumb" src="'+ui.draggable.attr('src')+'">');

  imageurl = ui.draggable.attr('src');

  $.ajax({
     type: "POST",
     url: 'www.check.com.sg/', 
     data: {name: imageurl}, 
     complete:function(){
        window.location.reload(true);
     } 
  });
}

If i do a reload on the page. the post parameters will be destroy


Solution

  • Yep you can do it. Just put all your post variables in a hidden form on the page like this :

    <form action="" method="post" id="myform">
        <input type="hidden" name="my_var1" value="value_of_my_var1" />
        <!-- More inputs here.... -->
    </form>
    

    And then submit your form when your ajax call is done :

    function handler(event,ui)
    {
      $(this).find(".thumb").remove();
      $(this).append('<img class="thumb" src="'+ui.draggable.attr('src')+'">');
    
      imageurl = ui.draggable.attr('src');
    
      $.ajax({
         type: "POST",
         url: 'www.check.com.sg/', 
         data: {name: imageurl}, 
         complete:function(){
            $('#myform').submit();
         } 
      });
    }