Javascript ng click功能无法调用服务

Javascript ng click功能无法调用服务,javascript,angularjs,http,angularjs-scope,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').

我在点击按钮时从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");
        });
    };        
});
另外,如果我在
$scope.login
函数之外调用
$http
方法,我可以接收数据,但不需要单击login函数。
有人能告诉我吗?

可能有两个问题

  • 您是否提到过单击
    onclick
    ng click
    。如果您在单击时提到
    onclick
    ,请将其更改为
    ng单击

  • 请参阅下面的代码

    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);
        }
    };
    }]);
    

  • 确保api url是否正确。要进行测试,请首先向本地
    json
    数据发出请求,然后使用api尝试解决此问题,请执行以下步骤:

    首先确定问题在哪一边:客户机还是服务器(在您的情况下是Web API)

    在angular中放置一些控制台日志,并在Webapi中放置调试器


    一旦你知道了,就可以更容易地缩小问题的范围。

    如果你调用的API允许get,你可以发布完整的错误内容检查。405表示你请求的方法是不允许的。服务器端代码中是否允许使用GET方法?控制台中是否存在其他错误?另外,
    如果我在$scope.login之外调用$http方法,您的意思是在控制器主体本身中吗?还是别的什么?您的应用程序是在
    35456
    端口下运行,还是在不同的端口下运行?是$http方法在控制器主体中调用时,我能够接收数据,并且应用程序在不同的端口下运行port@mosh Feu@saurav通过执行这段代码,我得到了弹出的错误[object],我使用了ng click,而且api的url是正确的