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

「complete」または「success」関数を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-リクエストが終了したときに呼び出される関数(成功とエラーのコールバックが実行された後)。関数には2つの引数が渡されます。jqXHR(jQuery 1.4.xではXMLHTTPRequest)オブジェクトと、リクエストのステータスを分類する文字列( "success"、 "notmodified"、 "error"、 "timeout"、 "abort"、または「parsererror」)。jQuery 1.5以降、完全な設定は関数の配列を受け入れることができます。各関数は順番に呼び出されます。これはAjaxイベントです。jQuery Ajax

于 2012-05-10T05:35:06.613 に答える
0

リクエストを取得した後、URL パラメータを削除したかっただけです。これは私にとってはうまくいきました。

window.history.pushState("オブジェクトまたは文字列", "タイトル", "/new-url");

于 2021-01-12T12:39:45.827 に答える