0

削除var stringして $.ajax data:行を追加してもスクリプトは正常に機能しました。それでは、これは何のためにあるのでしょうか。

  $(function() {
    $(".delete").click(function() {
    $('#load').fadeIn();
    var commentContainer = $(this).parent();
    var id = $(this).attr("id");


var string = 'id='+ id ;

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(){
    commentContainer.slideUp('slow', function() {$(this).remove();});
    $('#load').fadeOut();
  }

 });

return false;
    });
});
4

4 に答える 4

1

パラメータを渡すために使用されます。

サーバー側でdelete.php同じdelete.php?id={id}ことをする場合、それは同じです。

しかし、それは通常の場合と同じであってはなりません。それはあなたの管理下にあるあなたのコードです。

于 2012-09-14T10:33:18.273 に答える
0

関数のdataパラメーターはajax()、サーバーへのリクエストとともに送信するデータを配置する場所です。

データ(オブジェクト、文字列)

サーバーに送信されるデータ。まだ文字列でない場合は、クエリ文字列に変換されます。GETリクエストのURLに追加されます。この自動処理を防ぐには、processDataオプションを参照してください。オブジェクトはキー/値のペアである必要があります。

あなたの特定のケースでは、あなたが投稿した上記のコードで私が見ることができるものから。あなたのファイルはajax呼び出しで送信されたデータを受信し、PHPdelete.phpの変数でそれを見ることができます。$_POST

リファレンス-jQueryajax()

于 2012-09-14T10:33:30.947 に答える
0

aclass="delete"をクリックするとid、その要素のが取得され、に送信されdelete.phpます。

于 2012-09-14T10:34:10.960 に答える
0

サーバーのクエリ文字列パラメータが含まれています。この場合、削除する必要のある要素のID。

ただし、サーバーは別のステータスではなくHTTP 200を配信しているように見えるため、成功ハンドラーがトリガーされ、要素がフェードアウトするなどの理由で、要素が削除されたように見えますが、更新するとまだそこにあります。

于 2012-09-14T10:34:27.720 に答える