角元素,$ http.get

时间:2015-06-05 03:25:52

标签: angularjs

我有一个脚本询问我的服务器以获取各种值。在UI中 - 有一个JQuery滑块输入,用户可以在其中更改其中一个值 - 我想重新查询服务器/ PHP脚本。

这就是我所拥有的。

    var app = angular.module("myServices", ['ui.bootstrap']);

app.controller("servicesCntrl", function($scope, $http) {
    $http.get("http://myservice.com/scripts.php?dist="+28)
    .success(function(response) {$scope.names = response.contractors;});
});


function updateVal() {
    var scope = angular.element($("#batch")).scope();
    scope.$apply(function($http){
        $http.get("http://myservice.com/scripts.php?dist="+28)
    .success(function(response) {$scope.names = response.contractors;});
    })
}

控制器工作正常 - 并按预期抓取值。 updateVal脚本(在onChange事件上调用)被挂起,说$ http.get不是函数。

我错过了什么? :)提前致谢!

---修改

好的 - 我做了一些修改 - 但仍然没有。对不起 - 我对角度很新:)

这就是我现在所拥有的。滑块脚本 - 和角度。

<div class="ui-field-contain" data-controltype="slider">
                <label for="slider1">
                    Adjust Distance
                </label>
                <input id="slider1" type="range" name="slider" value="5" min="0" max="50"
                data-highlight="false" onchange="updateVals()">
            </div>

和角度

app.controller("servicesCntrl", function($scope, $http) {
    $scope.updateVals = function () {
        console.log("Booyah");
    }
    $http.get("http://example.com/scripts.php?dist="+28)
    .success(function(response) {$scope.names = response.contractors;});
});

---编辑3 - 感谢您的帮助:)

带有ng-model - 和ng-change

滑块

<div class="ui-field-contain" data-controltype="slider">
                <label for="slider1">
                    Adjust Distance
                </label>
                <input id="slider1" type="range" name="slider" value="5" min="0" max="50"
                data-highlight="false" ng-model="myslider" ng-change="updateVals">
            </div>

和角度

仍然缺少某些东西..

app.controller("servicesCntrl", function($scope, $http) {
    $scope.updateVals = function () {
        console.log("Booyah");
    }
    $http.get("http://example.com/scripts.php?dist="+28)
    .success(function(response) {$scope.names = response.contractors;});
});

1 个答案:

答案 0 :(得分:1)

您的updateVal()功能位于您注入$http服务的控制器之外,因此您无法访问它。将updateVal功能移动到控制器中。