2013-09-05 88 views
0

我有一個需要ajax調用的選擇選項列表。我打算做這樣的事情:你可以通過回調中的ajax調用訪問提交的數據嗎?

$("select options").each(function(){ 
    var $id = $(this).val(); 
    var url = "www.sample.com/objects/"+$id; 
    $.ajax([settings]); 
}); 

關於成功調用,我可以訪問傳遞給ajax調用的參數嗎?例如,我想要在成功調用中獲得ID,並且想要以某種方式將它傳遞給ajax調用,或者只需調用URL上的split並從中獲取最後一項。

我一直在尋找通過jquery,我不能確定您是否可以訪問傳入任何回調調用的url或設置。

回答

3

是的。

var $id = $(this).val(); 
var url = "www.sample.com/objects/"+$id; 
var settings = { 
    type: "POST", 
    url: url, 
    data: { name: "John", location: "Boston" } 
}; 

$.ajax(settings).done(function(msg) { 
    console.log(settings); 
    console.log($id); 
    // You can access everything that was created inside your `.each` callback scope. 
}); 
+0

雖然有一個踢球。他們是全球性的,但是在一個循環中,不能保證......所以在成功被稱爲....之前可能會改變3次......這意味着錯誤的數據。 – Fallenreaper

+0

這就是爲什麼在全局範圍內創建變量時必須小心。我很少這樣做,但是當我這樣做時,我不會在異步操作中使用它們。 – letiagoalves

+0

裏面的成功你可以調用:this.url並解析$ id。 – Fallenreaper

相關問題