一尘不染

如何将值传递给AngularJS $ http成功回调

angularjs

在我的AngularJS应用程序中,我正在执行以下操作

$http.get('/plugin/' + key + '/js').success(function (data) {
    if (data.length > 0) {
        console.log(data);
        // Here I would also need the value of 'key'
    }
});

现在,我需要访问key成功回调中的值,即,我需要知道在get()发出请求时它具有哪个值。

有什么“最佳实践”怎么做?

PS:我可以执行以下操作,但是有更好的方法吗?

var key = config.url.split('/')[2];

阅读 287

收藏
2020-07-04

共1个答案

一尘不染

解决方案1:

$scope.key = key;
$http.get('/plugin/' + key + '/js').success(function (data) {
    if (data.length > 0) {
        console.log(data, $scope.key);
    }
});

解决方案2(根据Jim Hong的回答更新):

$http.get('/plugin/' + key + '/js').success((function(key) {
    return function(data) {
        console.log(key, data);
    }
})(key));
2020-07-04