function ajax_test(str1){
var url = "None"
jq.ajax({
type:'post',cache: false,url: 'http://....' + str1,success: function(data,status,xhr){
url=data;
},error: function (xhr,e) {
},async: true,dataType: 'json'
});
return url
}
如何将全局变量url设置为返回的成功ajax数据?
在Javascript中,
函数返回异步结果是不可能的。该
函数通常在AJAX请求之前返回。
您可以随时强制您的请求与async同步:false,但这通常不是一个好主意,因为它会导致浏览器在等待结果时锁定。
解决这个问题的标准方法是使用回调函数。
function ajax_test(str1,callback){
jq.ajax({
//... your options
success: function(data,xhr){
callback(data);
}
});
}
然后你可以这样称呼:
ajax_test("str",function(url) {
//do something with url
});
原文链接:https://www.f2er.com/jquery/183285.html