【问题标题】:ASP.NET MVC WebAPI Not Returning DataASP.NET MVC WebAPI 不返回数据
【发布时间】:2015-04-26 16:56:13
【问题描述】:

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

【问题讨论】:

  • 你能澄清一下你的设置什么时候可以工作,什么时候不工作?两者都说“我的网站”。您是否从其他域访问 Web Api?

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


【解决方案1】:

我想你违反了same origin policy 在此处提出跨域 AJAX 请求:http://localhost:2153/api/meal。确保您的 Web API 上有 enabled CORS 以使其正常工作。

永远不要忘记查看您的网络浏览器中的控制台选项卡,其中包含有关您的代码为何无法运行的有用信息。

【讨论】:

  • 我已经在我的配置文件以及每个控制器上启用了 CORS [EnableCors(origins: "localhost:55058", headers: "", methods: "") ] 但是我不确定端口 55058。这是否指的是我的 API 正在运行的端口?
  • @ASPCoder1450,说实话,我完全不知道55058 指的是什么端口,以及这是否是您的Web API 运行的端口。这绝对是你应该知道的。从您提供的代码中我可以说的是,在您的客户端应用程序中,您正尝试向 http://localhost:2153/api/meal 发出 AJAX 请求,如果您的 SPA 应用程序不是从您需要启用 CORS 的同一域提供服务,则此操作可以正常工作这台服务器。
  • 您也可以使用 jsonp 进行 cors 请求
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 2017-08-08
  • 2015-11-26
  • 1970-01-01
相关资源
最近更新 更多