【发布时间】:2018-12-29 21:51:37
【问题描述】:
我在不同的端口有 2 个单独的项目,一个是 asp.net web api,另一个是 angularjsUI,它使用 webapi 服务。当我从我的 Angular 项目中调用 webapi 服务时,该服务未命中。
如果服务和 angularUi 都在同一个项目中,那么没有问题,我可以使用该服务。
使用的技术: 与2015相比, Angularjs1.6, WebApi2
如何使不同端口的这两个独立项目之间的通信成功。 示例:
第 1 步:这些文件在我的 angularUI 项目中
LoginController.js
$scope.RegisterClick=function(myregister) {
var apiRoute = "http://localhost:51002/api/LoginApi";
var registerdata = LoginService.post(apiRoute, registeruserdetails);
}
登录服务.js
myqcapp.service("LoginService", function ($http) {
this.post = function (apiRoute, Model) {
var loginresult = $http({
method: "post",
url: apiRoute,
dataType: 'json',
headers: {
"Content-Type": "application/json; charset=utf-8"
},
data: Model
});
return loginresult;
}
});
第 2 步:在我的 WebApi 项目中
LoginApiController.cs
public class LoginApiController : ApiController
{
[ResponseType(typeof(Register))]
public IHttpActionResult Post(Register registercls)
{
if (ModelState.IsValid)
{
registerbs.Add(registercls);
return CreatedAtRoute("DefaultApi", new { id = registercls.Userid }, registercls);
}
else
{
return BadRequest(ModelState);
}
}
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{Controller}/{id}",
defaults: new {
Controller="LoginApi",
id = RouteParameter.Optional
}
);
}
【问题讨论】:
-
您能否添加一个关于如何从 AngularJs 进行调用的示例以及 API 方法的示例
标签: c# angularjs asp.net-web-api asp.net-web-api2