我有一个jQuery ajax调用url。成功后,我需要修改此URL以进行后续调用。如何访问设置?
$.ajax({
url: 'http://google.com',
success: function (data, textStatus, jqXHR) {
//set url here to http://yahoo.com
}
答案 0 :(得分:0)
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) {
}
});
答案 1 :(得分:0)
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请求仍未完成且尝试访问时未更新变量
答案 2 :(得分:0)
好的 - 想通了。我的问题是我的电话被包装在提交表格中,并且更新此电话中的网址不起作用。但是,在通话之外移动网址允许我从回调中更新它。
这不起作用:
$("#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;
});