我有一個jQuery ajax調用一個url。成功後,我需要修改此網址以便後續調用。我如何訪問這些設置?從回調中修改jQuery ajax設置
$.ajax({
url: 'http://google.com',
success: function (data, textStatus, jqXHR) {
//set url here to http://yahoo.com
}
我有一個jQuery ajax調用一個url。成功後,我需要修改此網址以便後續調用。我如何訪問這些設置?從回調中修改jQuery ajax設置
$.ajax({
url: 'http://google.com',
success: function (data, textStatus, jqXHR) {
//set url here to http://yahoo.com
}
var count = 0;
function getUrl()
{
count++;
if (count == 1)
return 'http://google.com';
else
return 'http://yahoo.com';
}
$.ajax({
url: getUrl(),
success: function (data, textStatus, jqXHR) {
}
});
試過了。這行不通 – cyberwombat
更新了我的代碼。看看 –
這可能工作,但不是在我的情況 - 我需要更新網址與我的回調數據 - 雅虎/谷歌只是例子 – cyberwombat
var customUrl = 'http://google.com'
$.ajax({
url: customUrl ,
success: function (data, textStatus, jqXHR) {
//set url here to http://yahoo.com
customUrl = 'http://yahoo.com'
use your customUrl variable later
}
});
Ajax是異步的。因此,如果您想稍後使用該url,最好在成功回調函數中使用它...
如果您在ajax請求之後立即使用它,則可能有ajax請求仍然沒有完成,並且當您嘗試訪問它時,變量未更新
我需要修改ajax函數使用的customUrl,以便下次我提交時使用新的URL。這沒有做到。 – cyberwombat
好了 - 計算出來了。我的問題是,我的電話被封裝在提交表單中,並且更新此調用中的url不起作用。但是,將URL移出呼叫外允許我從回調中更新它。
這不起作用:
$("#form").bind("submit", function(evt) {
var url = "http://myurl";
$.ajax({
url: url,
type: "PUT",
contentType: "application/json",
dataType: "json",
data: data,
success: function (data, textStatus, jqXHR) {
url = "http://newurl"
},
error: function (jqXHR, textStatus, errorThrown) { }
});
return false;
});
但這:
var url = "http://myurl";
$("#form").bind("submit", function(evt) {
$.ajax({
url: url,
type: "PUT",
contentType: "application/json",
dataType: "json",
data: data,
success: function (data, textStatus, jqXHR) {
url = "http://newurl"
},
error: function (jqXHR, textStatus, errorThrown) { }
});
return false;
});
更新了我的代碼。看看 –