【发布时间】:2013-04-29 21:10:48
【问题描述】:
我正在使用 Ajax 请求从我的服务器获取数据。我得到的数据来自几个地方(网址)。我需要一种方法来区分来自一个 url 的数据和来自另一个 url 的数据。 请求是这样的:
function initRequest(url)
var request = $.ajax({
url: url,
contentType: 'application/json',
dataType: 'json',
type: "GET"
});
request.done(function(msg) {
//i need to know what was the url of this request
//request.url is undefined
}
}
我该怎么做? 我提到我不能使用数据本身(msg)来知道源 url。
【问题讨论】:
-
您的
url参数值应该仍然在传递给done的回调范围内,所以您可以尝试使用它吗? -
如果在调用
done之前进行了多次调用,则url具有不同的值 -
@GeenHenk 呃,不,考虑到每个调用都将使用在对该函数的单独调用中初始化的不同
jqXhr对象。 -
@GeenHenk 不,因为
url是一个函数参数,每次调用都将作用域绑定到传递的值,而不是“当前”值。 -
这个
.done函数是否保证在initRequest的词法范围内?