簡體   English   中英

在$ .ajax()函數內分配變量

[英]Assign a variable inside an $.ajax() function

我想在$ .ajax()函數內分配一個變量,以便下次調用該函數時該變量仍然可用。

這可能嗎?

var xxx = 1; 沒有做這份工作。

謝謝!

該變量必須存儲在靜態位置,例如隱藏的輸入或數據屬性。

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

下次調用該函數時,可使用此函數獲取先前的值:

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

data文檔:

說明:存儲與匹配元素關聯的任意數據

我認為您應該做類似的事情,並為此避免 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關鍵字。

如果您的變量是在全局級別定義的,則可以在許多地方使用它。

您需要了解變量作用域 ,無論運行哪個函數,這同樣適用於javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM