jQuery AJAX删除URL参数

时间:2012-05-10 04:39:00

标签: jquery ajax

我这里有一个代码,用于保存main.php内容的数据

查看某个列表时,我使用一个URL参数来生成php。

ex:main.php?v = 323& p = 1

现在的问题是,我希望在我进行更改后保存内容时将其删除。 这是我用来保存表单内容的代码。

$.ajax({
  type:'POST',
  url:'/AJAXsave.php',
  cache:false,
  async:true,
  global:false,
  dataType:"html",
  data:$('#form1contents').serialize(),
  timeout:10000
});

我希望在完成ajax帖子后删除这些参数(?v = 323& p = 1)。

3 个答案:

答案 0 :(得分:1)

您可以使用此功能,但仅限Chrome,Safari,FF4 +和IE10pp4 +!

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

Reference MDN

答案 1 :(得分:1)

只需在您的Ajax调用中添加“完成”或“成功”功能:

$.ajax({
  type:'POST',
  url:'/AJAXsave.php',
  cache:false,
  async:true,
  global:false,
  dataType:"html",
  data:$('#form1contents').serialize(),
  timeout:10000,
  complete: function (xhr, status)
  {
      if(status == 'success')
          location.href = 'main.php';
  }
});

根据jQuery API:complete - 在请求完成时调用的函数(在执行成功和错误回调之后)。该函数传递两个参数:jqXHR(在jQuery 1.4.x,XMLHTTPRequest)对象和一个字符串,用于对请求的状态进行分类(“成功”,“未修改”,“错误”,“超时”,“中止”或“parsererror”)。从jQuery 1.5开始,完整设置可以接受一系列函数。每个函数将依次调用。这是一个Ajax事件。 jQuery Ajax

答案 2 :(得分:0)

我只是想在收到请求后删除 URL 参数。这对我有用。

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