84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
首先点击第一个按钮通过http.get方法获取到一个值,并且已经能获取到。这个值要怎么给到第二个按钮的function中去。按钮顺序是先输入前三个条件点击第一个按钮,从后台拿到数据。再把这个数据拼接到第二个按钮按下所用的http.post方法的url中去,请问,这样能实现吗?
能实现
$scope.getValue1=function () { $http({ method: 'GET', url: '/someUrl' }).then(function successCallback(response) { $scope.valueOne=response.data; }, function errorCallback(response) { }); }; $scope.getValue2=function () { if($scope.valueOne){ $http({ method: 'GET', url: '/someUrl2?valueOne='+$scope.valueOne }).then(function successCallback(response) { $scope.valueTwo=response.data; }, function errorCallback(response) { }); }else{ alert("please click button one first.") } };
Http.get请求到的数据存到一个全局对象里保存,http.post再调用对象,success方法中销毁对象即可
其实就是闭包的原理..在设置两个按钮事件处理的相同作用域中定义一个变量temp, 把第一个按钮事件处理的回调函数中get获取到的值赋值给变量temp, 然后在第二个按钮事件处理的回调函数中取得temp值post出去..
如果两个异步请求之间有数据依赖的话,建议用promise处理,防止点击第二次按钮时,第一次请求的数据还没返回
能实现
其实就是闭包的原理..
在设置两个按钮事件处理的相同作用域中定义一个变量temp, 把第一个按钮事件处理的回调函数中get获取到的值赋值给变量temp, 然后在第二个按钮事件处理的回调函数中取得temp值post出去..
如果两个异步请求之间有数据依赖的话,建议用promise处理,防止点击第二次按钮时,第一次请求的数据还没返回