我創建了一個anjular js應用程序,我創建了一個登錄頁面,並且使用web api驗證了它。這是返回json並正常運行的控制器。HTTP錯誤405.0 - 從angularjs應用程序訪問web-api時不允許的方法
[Route("api/Customer/{id}/{pass}")]
public IEnumerable GetCustomer(string id, string pass)
{
var list = repository.Get(id, pass);
if (list != null)
{
return list;
}
else
{
return null;
}
}
這是控制器訪問所述API中的角應用程式(demoApi.js)
(function() {
'use strict';
var DemoApi = function ($http) {
var loginCheck = function (username, password) {
return $http.get("http://localhost:8115/api/Customer/" +username+"/"+password)
.then(function (response) {
return response.data;
});
};
return {
loginCheck: loginCheck
}
};
var app = angular.module("angularApp");
app.factory("DemoApi", DemoApi);
}());
這是登錄控制器(loginController.js)
(function() {
var app = angular.module("angularApp");
var loginController = function ($scope, $http, bankApi, $location) {
var userDetails = {
username: $scope.uName,
password: $scope.uPassword
};
$scope.login = function() {
DemoApi.loginCheck(userDetails.username, userDetails.password)
.then(onLogin, onError);
};
var onError = function (reason) {
$scope.error = "Could not fetch the data.";
};
var onLogin = function (data) {
$scope.details = data;
$location.path("/info");
};
}
app.controller('loginController', loginController);
}());
這是索引我已鏈接所有腳本的頁面
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="angularApp">
<head>
<title>Ebank</title>
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-route.js"></script>
<link href="Content/bootstrap.min.css" rel="stylesheet" />
<script src="lib/app.js"></script>
<script src="lib/bankApi.js"></script>
<script src="lib/loginController.js"></script>
<script src="lib/infoController.js"></script>
</head>
<body style="background-color:#333">
<div ng-view></div>
</body>
</html>
爲我提供了一個解決方案,爲什麼我不是能夠調用從demoApi.js 我得到的響應,如果我直接從HTML頁面調用此API API但從demoApi.js
請參閱http://stackoverflow.com/questions/19093603/simple-post-to-web-api ..您缺少控制器方法的[HttpPost]屬性 – Amitd
仍然無法正常工作.. @ Amitd – abhishek
獲取客戶返回一個數組或說json對象,但我應該如何捕獲響應數據的角度應用 – abhishek