ASP.NET MVC WebAPI不返回数据

时间:2015-04-26 16:56:13

标签: c# asp.net asp.net-mvc angularjs asp.net-web-api

我正在尝试使用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>

1 个答案:

答案 0 :(得分:2)

我认为您通过在此处发出跨域AJAX请求来违反same origin policyhttp://localhost:2153/api/meal。确保您的Web API上有enabled CORS才能实现此目的。

也永远不要忘记查看网络浏览器中的控制台标签,其中包含有关您的代码无法正常工作的有用信息。

相关问题