ng-click功能无法呼叫服务

时间:2016-12-20 10:46:04

标签: javascript angularjs http angularjs-scope

我正在点击按钮从web-api检索数据但是当我执行此代码时,我收到错误405

var app = angular.module("angularApp");
app.controller("loginController", function ($scope, $http) {

    $scope.login = function () {
        $http.get('http://localhost:35456/api/customer/Dipti123/dipti').
            success(function (data, status, headers, config) {
            //$scope.posts = data;
            alert("recived data");
            //alert(data.data.ID);
        }).
        error(function (data, status, headers, config) {
            // log error
            alert("error");
        });
    };        
});

此外,如果我在$http函数之外调用$scope.login方法,我能够接收数据,但不能点击登录功能。 谁能让我知道?

2 个答案:

答案 0 :(得分:1)

可能有两个问题。

  1. 您是否提及onclickng-click。如果您提及onclick,请将其更改为ng-click

  2. 见下面的代码

    var app = angular.module("angularApp");
    
    app.controller("loginController" ,[ '$scope' , '$http', function ($scope, $http) {
    $scope.login = function () {
        $http.get('http://localhost:35456/api/customer/Dipti123/dipti')
        .then(function(res){
           console.log(res);
           console.log(res.data);
        }, function(error){
           alert(error);
        }
    };
    }]);
    
  3. 确保api url正确无误。要进行测试,请先向本地json数据发出请求,然后尝试使用api

答案 1 :(得分:0)

要解决此问题,请按以下步骤操作:

首先确保问题出在哪一方面:客户端或服务器(在您的情况下是Web API)。

将一些控制台日志置于角度,并将调试器放入Webapi。

一旦得到它,就可以更容易地缩小确切的问题。