所以我正在尝试将我的应用程序从 jQuery 转换为 angularjs。
我想创建一个动态显示的框,它根据用户输入显示从 mySQl 数据库中获取的数据。
我的 PHP 脚本返回一个 JSON。
我设置了我的<div>
和一个<input>
字段:
<input type="text" ng-model="testActivator">
<div class="Container" ng-show="Activator.length" ng-controller="ContainerCtrl">
<p>{{fetchData(testActivator)}}</p>
</div>
我创建了我的控制器:
function ContainerCtrl($scope,$http){
$scope.item = [{}];
$scope.fetchData = function($input){
$http.post("../sys/core/fetchPacking.php",{
'val': $input
}).success(function(data,status){
$scope.item.push(data.key);
});
return $scope.item;
}
$scope.hide = function(){
return false;
}
}
现在,出现了以下问题:
- 当我通过向 提供输入来启动脚本时
<input>
,它会产生一些对我来说看起来像无限循环的东西:返回的数据将一遍又一遍地传递到框中。我该如何防止这种情况,为什么会这样? - 脚本返回的不是正确的值,而是
null
. 我的错在哪里?
ps 问题 #1 还引发了另一个问题:我如何查看我的返回值。直到今天,我都会通过console.log()
. 但是,由于这是循环运行的,所以这是行不通的。