0

サーバーからhtmlコードの一部を取得するためにjquery postリクエストを作成しています。サーバー get_info.php には、さまざまな要件に対応する HTML コードを出力するファイルがあります。私はこれを行うために次のコードを使用しています:

function check(inf_type) {
    $.ajax({
        type: 'POST',
        url: "get_info.php",
        data: { "sequence_no" : 1 },
        success: function(data) {
            // how can i use value of variable "inf_type" here.
            // here, the variable "data" contains HTML code.
        },
        dataType: 'text'
    });
}

関数 check() は、ランダムな文字列を含むパラメータinf_typeを受け入れます。これに応じて、サーバーは印刷する HTML コードを認識します。今、私はこのinf_typeに従って POST 応答を処理したいと思います。POST 応答関数でinf_type変数の値にアクセスするにはどうすればよいですか? 関数 check() がより頻繁に呼び出されるため、グローバル変数にinf_type変数の値を入れることができません。それを達成するために何ができますか?私を案内してください。前もって感謝します。

4

4 に答える 4

1

Success 関数で info_type 変数を使用できます。パラメーター info_type のスコープは、成功関数にまだ存在します。

于 2012-05-25T05:16:22.390 に答える
1

成功またはエラー関数で変数を直接使用できます。

function check(inf_type) {
    $.ajax({
        type: 'POST',
        url: "get_info.php",
        data: { "sequence_no" : 1 },
        success: function(data) {
            alert(inf_type); //inf_type is available here.
        },
        dataType: 'text'
    });
}
于 2012-05-25T05:17:36.433 に答える
1

関数inf_typeのパラメーターを介してアクセスできます。check()

function check(inf_type) {
    $.ajax({
        type: 'POST',
        url: "get_info.php",
        data: { "sequence_no" : 1 },
        success: function(data) {
            if (inf_type == 0) {
                // do something with data
            } else {
                // do something else
            }
        },
        dataType: 'text'
   });

}

これが機能する理由は、内部関数 (成功コールバック) が外部関数 (チェック) の変数にアクセスできるためです。詳細については、この回答を参照してください: https://stackoverflow.com/a/111200/69868

編集 これは、 inf_type が の各呼び出しでのオブジェクトの数値または新しい (異なる) インスタンスのいずれかであると想定していますcheck()。詳細は上記リンク先で解説しています。

于 2012-05-25T05:17:53.733 に答える
0

まず、特定の値が次のように返されるように、 inf_typeをサーバーに送信する必要があります。

function check(inf_type) {
 $.ajax({
    type: 'POST',
    url: "get_info.php",
    data: { "sequence_no" : 1, whatToSearch : inf_type }, // i added
    success: function(data) {
         //$(selector).html(data);//where you want to show the data
        // how can i use value of variable "inf_type" here.
        // here, the variable "data" contains HTML code.
    },
    dataType: 'text'
 });
}
于 2012-05-25T05:16:41.133 に答える