我尝试将var1
从第一个功能复制到第二个功能,但是我没有得到任何alert()
的回复
$(document).ready(function(){
var var1;
$.ajax({
url: "https://api.ipify.org?format=json",
success: function(response) {
var data = response;
var1 = data.ip;
$('#test').html(var1);
}
});
// I want the var1 to be copied to the second function, to this:
// The alert is for example, but it does not give me anything back
$(function() {
var var2 = var1;
$('#test2').html(var1);
$.ajax({
type: 'get',
url: "http://mywebsite.com/testip?"+var2, // just some query that i need to use with the ip from var1
dataType: "html",
success: function(data) {
alert(var2);
},
});
});
});
答案 0 :(得分:0)
首先,您应该将文档准备就绪合并为一个,因为您只需要一个。
第二,您无法像尝试那样执行逻辑。 Ajax是异步。这意味着您将启动第一个请求,并且在完成之前,您还将尝试第二个请求。由于第二个请求需要第一个请求的响应中的数据,因此这是无效逻辑。
要解决此问题,可以从第一个ajax成功调用第二个ajax方法,届时数据将可供第二个ajax请求使用。
$(document).ready(function() {
var var1;
$.ajax({
url: "https://api.ipify.org?format=json",
success: function(response) {
var data = response;
var1 = data.ip;
$('#test').html(var1);
//I want the var1 to be copied to the second function, to this:
//The alert is for example, but it does not give me anything back
$('#test2').html(var1);
$.ajax({
type: 'get',
url: "http://mywebsite.com/testip?" + var1, // just some query that i need to use with the ip from var1
dataType: "html",
success: function(data) {
alert(var1);
},
});
}
});
});