我正在尝试使用Angular JS从我的网站调用Web API,但我没有收到任何数据。
如果我从我的网站单独运行API,我会得到一个回复,所以我知道服务运行正常并返回数据,因此它必须是我正在调用或尝试显示来自API的数据的方式。
以下是我网站上JS控制器的代码。
关于问题是什么的任何想法?感谢
(function () {
var MealsController = function ($scope, $http) {
var meals = function (serviceResp) {
$scope.Meals = serviceResp.data;
};
var errorDetails = function (serviceResp) {
$scope.Error = "Something went wrong ??";
};
$http.get("http://localhost:2153/api/meal")
.then(meals, errorDetails);
$scope.Title = "Meals Details Page";
$scope.Meals = meals;
};
app.controller("MealsController", MealsController); }());
这是我的HTML代码
<!DOCTYPE html>
<html lang="en" ng-app="MealPlannerModule">
<head>
<title>Employee Details</title>
<script src="Scripts/jquery-2.1.3.min.js"></script>
<link href="CSS/amelia.bootstrap.min.css" rel="stylesheet" />
<link href="CSS/Site.css" rel="stylesheet" />
<script src="Scripts/bootstrap.min.js"></script>
<script src="Scripts/angular.min.js"></script>
<script src="Scripts/app.js"></script>
<script src="Controllers/MealsController.js"></script>
</head>
<body ng-controller="MealsController">
<p>Meal Name - {{Meals.mealID}}</p>
</body>
</html>
答案 0 :(得分:2)
我认为您通过在此处发出跨域AJAX请求来违反same origin policy
:http://localhost:2153/api/meal
。确保您的Web API上有enabled CORS
才能实现此目的。
也永远不要忘记查看网络浏览器中的控制台标签,其中包含有关您的代码无法正常工作的有用信息。