0

次の実装があります

$.ajax({
type: "POST",
url: "/Member/SaveMember",
data: $('form').serialize(),
success: refreshGrid()

/ Member / SaveMemberのajax呼び出しを呼び出す前に、refreshGrid()メソッドが最初に呼び出されるのはなぜですか?「成功」は、サーバーメソッドを正常に呼び出した後にのみ呼び出されると思いました。

何か助けはありますか?

4

2 に答える 2

2

refreshGrid を参照としてではなく、refreshGrid を呼び出した結果を使用して ajax 呼び出しを設定しています。メソッドを呼び出すのではなく、メソッドを渡すことを示すには、括弧を削除します。

$.ajax({
type: "POST",
url: "/Member/SaveMember",
data: $('form').serialize(),
success: refreshGrid
});

新しいパラメーターを使用して呼び出しを設定する場合は、新しい関数でラップします

$.ajax({
type: "POST",
url: "/Member/SaveMember",
data: $('form').serialize(),
success: function() {
    refreshGrid(dataParameter);
}
});
于 2012-04-13T06:33:03.440 に答える
1

括弧なしでのみ使用refreshGridします (括弧を使用すると、関数が呼び出され、呼び出しの結果がsuccessフィールドに関連付けられます)。

于 2012-04-13T06:33:02.193 に答える