如何将.get()事件处理程序中的URL转换为变量?

时间:2018-01-25 23:43:41

标签: jquery

我有这个jQuery代码设置:

$.get('/blog.html', function(data){
    // Do something
});

我可以使用'/blog.html'属性并将其转换为变量吗?我想做类似的事情,但请记住,此功能将重复几次,但与其他网址重复:

var URL = $.get('/blog.html').text;

2 个答案:

答案 0 :(得分:0)

你不能,因为它是异步的。调用.get()的函数在响应返回时已完成。你必须学会​​异步思考。

这确实有效:

$.get('/blog.html', function(data){
   var URL = data;
});

答案 1 :(得分:0)

如果只有在完成所有请求后才需要完成多项请求,您可以执行以下操作:

function getData(url){
   return $.get(url).then(function(data){return data});
}

var req1  = getData('/blog.html'),
    req2  = getData('/about.html'),
    req3  = getData('/contacts.html');

$.when(req1, req2, req3).then(function(blogData, aboutData, contactsData){
   // all requests are done
   // do something with each of the argments

}).fail(function(){
   console.log("One of the requests failed');
})