我需要帮助来了解如何从ajax功能导出值并将其导入到其他函数中 例子
function getlanlon(){
$.ajax({
type: "GET",
url: "{{URL::to('/')}}/getlatlng",
//data: {value: 0},
//async: true,
success: function(result){
console.log(result)
}
}, "json");
};
现在,我们需要在波纹管功能中调用此“结果”,但是它不起作用,console.log始终显示未定义。
map.on('load', function () {
latlon= getlanlon()
console.log(latlon)
}
答案 0 :(得分:2)
您需要回调,promise或deferred对象:
function getlanlon(callback){
$.ajax({
type: "GET",
url: "{{URL::to('/')}}/getlatlng",
//data: {value: 0},
//async: true,
success: function(result){
if(callback){
callback(result);
}
console.log(result)
}
}, "json");
};
map.on('load', function () {
getlanlon(function(latlon){
console.log(latlon)
})
}
或使用Deferred对象。
function getlanlon(){
var deferred = $.Deferred();
$.ajax({
type: "GET",
url: "{{URL::to('/')}}/getlatlng",
//data: {value: 0},
//async: true,
success: function(result){
deferred.resolve(result);
console.log(result)
}
}, "json");
return deferred;
};
map.on('load', function () {
getlanlon()
.then(function(latlon){
console.log(latlon);
})
})
}