Angular函数从$http请求中获取数据。
Angular function get data from $http request的问题是如何从$http请求中获取数据。这个问题的出现原因是在代码中没有正确地使用$http服务来获取数据,并将数据绑定到$scope上。解决方法是使用$http.get方法来发送GET请求并获取响应数据,然后将响应数据赋值给$scope.form变量。
在给定的代码示例中,可以看到在控制器中注释掉的$http.get方法,这表示在本地环境中使用API来获取数据。在注释掉的代码块中,通过调用$http.get方法来发送GET请求,并在成功的回调函数中将响应数据赋值给$scope.form变量。
但是,由于没有可用的API,所以在本地环境中使用了一个静态的JSON对象来模拟获取的数据。在这种情况下,我们只需要将静态的JSON对象赋值给$scope.form变量即可。
如果有第二个表单需要从$http请求中获取数据,可以使用类似的方法。例如,如果有一个名为form2的表单,可以使用$scope.form2 = response来将响应数据赋值给$scope.form2变量。
总结起来,要从$http请求中获取数据,需要使用$http.get方法发送GET请求,并在成功的回调函数中将响应数据赋值给$scope变量。如果有多个表单需要获取数据,可以在回调函数中分别将响应数据赋值给不同的$scope变量。这样就可以重用数据了。
问题的出现原因:在Angular中,通过$http请求获取数据时,需要注意数据的传递方式和数据结构的设计,否则可能导致无法正确获取数据。
解决方法:可以通过设计合适的数据结构来存储和传递数据。在这个例子中,可以使用$scope来存储获取到的数据,并在需要使用该数据的函数中直接引用$scope中的数据。
具体解决方法如下:
1. 在$scope中定义basic和advanced两个对象,用来存储获取到的数据。
$scope.basic= {}; $scope.advanced= {};
2. 使用$http.get方法发送一个GET请求,获取数据,并将数据存储到$scope中的basic和advanced对象中。
$http.get(base_url+"user/feach_one") .then(function (response) { $scope.basic.name=$scope.json.name; $scope.advanced=$scope.json.advanced; });
3. 在其他需要使用该数据的函数中,可以直接引用$scope中的数据。
function otherFunction() { var advancedName = $scope.advanced.name; var basicName = $scope.basic.name; // 可以使用获取到的数据进行其他操作 }
以上就是解决该问题的方法,通过设计合适的数据结构并正确引用$scope中的数据,可以在其他函数中正确获取到从$http请求中获取的数据。