0

$.ajax() 関数内に変数を割り当てて、次回関数が呼び出されたときに引き続き使用できるようにしたいと思います...

これは可能ですか?

var xxx = 1;仕事をしていません。

ありがとう!

4

3 に答える 3

2

そのようなことをして、 DOM操作を避けるべきだと思います...

(function($){
    var YourApp = {
        var your_vault : "",

        binders : function(){
            $('#button').on('click',YourApp.ajaxRequest);
        },
        ajaxRequest : function() {
            // Do something with YourApp.your_vault     
            $.ajax({
                url: 'http://someurl.com',
                succes: function(){
                    // Modifying your value:
                    YourApp.your_vault = 'A wonderfull new value';
                }
            });
        }
    };
    YourApp.binders();
})(jQuery); 

私はあなたのアプリの実際のコードを持っていないので、より正確なコードを提供することはできませんが、アイデアは得られると思います.

重要なアイデアはスコープです。より高いスコープに var がある場合はいつでも、キーワードを使用せずに、より低いスコープでそれを変更できます。var

于 2012-05-28T09:06:13.480 に答える
2

変数は、非表示の入力またはデータ属性などの静的な場所に格納する必要があります。

$('#hiddenId').val(1);
// Or
$('#someFooId').data('last-ajax-value', 1);

次回関数を呼び出すときは、これを使用して以前の値を取得します。

var lastValue = $('#hiddenId').val();
// Or
var lastValue = $('#someFooId').data('last-ajax-value');

dataドキュメント:

説明: 一致した要素に関連付けられた任意のデータを保存します

于 2012-05-28T08:55:16.607 に答える
1

変数がグローバル レベルで定義されている場合は、多くの場所で使用できます。

変数のスコープについて学ぶ必要があります。これは、どの関数が実行されても、JavaScript にも当てはまります。

于 2012-05-28T09:01:20.877 に答える