我正在尝试使用ASP.NET创建一个Angular SPA应用程序。
当我运行服务器时,它会加载所有内容,我的javascript,css和第一个索引页。
当我尝试使用ApiController
时会出现问题。
这是我的控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Net;
using System.Net.Http;
using System.Collections;
using System.Web.Http;
using Angular2.DAL;
using Angular2.Models;
namespace Angular2.Controllers {
public class HomeController : ApiController {
private ItemServiceContext db = new ItemServiceContext();
// GET: api/Home
public IEnumerable<Item> Get()
{
IEnumerable<Item> currentUserToDos = db.Items;
return currentUserToDos;
}
}
}
这是我的角色服务:
angular.module('myApp')
.factory('itemSvc', ['$http', function ($http) {
return {
getItems : function(){
return $http.get('/api/Home');
},
getItem : function(id){
return $http.get('/api/Home/' + id);
},
postItem : function(item){
return $http.post('/api/Home/',item);
},
putItem : function(item){
return $http.put('/api/Home/', item);
},
deleteItem : function(id){
return $http({
method: 'DELETE',
url: '/api/Home/' + id
});
}
};
}]);
这是我的WebApiConfig:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace Angular2 {
public class WebApiConfig {
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
} }
现在当我尝试做
时itemSvc.getItems().success(function (result) {
$scope.items = result;
console.log(result);
}).error(function (err) {
$scope.error = err;
})
在索引页面中加载的控制器中,出现此错误:
我到底错在了什么?我的web.config
文件可能有问题吗?我在Linux上用monodevelop 5.7做这个项目。
如果需要,将提供更多信息。