我有一个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;
});
更新了我的代码。看看 –