[英]HTTP Error 405.0 - Method Not Allowed while accessing web-api from angularjs app
我正在創建一個Anjular js應用程序,其中已創建一個登錄頁面並使用Web API對其進行即時身份驗證。 這是返回json且正在正常運行的控制器。
[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;
}
}
這是控制器在角度應用程序(demoApi.js)中訪問api
(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調用api如果我直接從html頁面調用此api但沒有從demoApi.js接收響應,為什么我得到響應
很可能您遇到了CORS問題。 您需要啟用CORS。 請遵循以下提到的步驟。
<add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-Type" />
或者,您可以在命令提示符下使用以下命令以禁用安全性的模式運行chorme瀏覽器,然后嘗試從那里訪問您的網站。
chrome.exe的完整路徑--disable-web-security --user-data-dir
請注意,它只是測試您的應用程序的解決方法,但是在生產部署中,您需要啟用CORS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.