1

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

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

例如: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)。

4

3 回答 3

1

您可以使用它,但只能在 Chrome、Safari、FF4+ 和 IE10pp4+ 中使用!

window.history.pushState("对象或字符串", "标题", "/new-url");

参考 MDN

于 2012-05-10T05:31:53.493 回答
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)对象和对请求状态进行分类的字符串(“成功”、“未修改”、“错误”、“超时”、“中止”,或“解析器错误”)。从 jQuery 1.5 开始,complete 设置可以接受一个函数数组。每个函数都会被依次调用。这是一个 Ajax 事件。jQuery 阿贾克斯

于 2012-05-10T05:35:06.613 回答
0

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

window.history.pushState("对象或字符串", "标题", "/new-url");

于 2021-01-12T12:39:45.827 回答