Javascript ng click功能无法调用服务
我在点击按钮时从web api检索数据,但当我执行此代码时,我得到错误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').
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是正确的