1

jQuery.get メソッドを使用するときにデータを取得する方法は?

function send_data(pgId)
{
    for(var i = 0; i < pgId.length; i++)
    {
        // $.get(url, data, success(data, textStatus, jqXHR))
        $.get('index.php?page=' + pgId[i], pgId[i], function(respTxt, status, xhr)
        {
            if(status === "success")
            {
                alert("Data received: " + respTxt + "\n");
                alert("Data sent: " + pgId[i]); //<-- ???
            }
        });
    }
}

私が送信しているパラメーターはオプションです。サーバーはそのパラメーターを受け入れません。私が望む唯一のことは、正常に動作したときにそのパラメーターをコールバック関数に渡すことです。pg_array は DIV ID の配列です。

ajax が成功したときに処理する送信データを取得するか、少なくとも成功したときにその引数をカスタム コールバックに渡す必要があります。

私はWeb開発も初めてなので、申し訳ありません。私はたくさん検索していましたが、表示されたサンプルを理解できません。

よろしく。

4

1 に答える 1

0

ID の値を保持するクロージャーでそれを行うことができます。

function send_data(pgId) {

    var callbackWithId = function (pgId) {
        //This will keep the pgId for the returned function
        return function(respTxt, status, xhr) {
            if(status === "success") {
                alert("Data received: " + respTxt + "\n");
                alert("Data sent: " + pgId);
            }
        }
    }

    for(var i = 0; i < pgId.length; i++) {
        $.get('index.php?page=' + pgId[i], pgId[i], callbackWithId(pgId[i]));
    }
}
于 2013-06-20T15:55:48.137 に答える