我是Angular 2的新手,想知道在调用get和post操作时如何在mvc项目中使用它:
假设我有一个带有2个动作的EmployeeController: 1)GetEmployee:列出员工信息 2)UpdateEmployee:更新员工信息
不使用Angular 2,我们可以轻松地使用视图来处理它。但是,如果我想使用Angular 2,我该怎么做?您能否提供一些示例,以便我可以学习如何使用Angular 2来调用获取或发布数据的操作?
由于
答案 0 :(得分:0)
如承诺:
从Controller端:(控制器命名为 APIConnexionController.cs )
[HttpGet]
public IActionResult Connexion(string aLogin, string aMdp)
{
// Do your stuff
}
然后,您可以从Angular2服务或组件设置方法,以对控制器进行http调用,如下所示:
auth.service.ts (在我的情况下)
private controllerURL: string = "/APIConnexion/auth";
login(aLogin: string, aMdp: string) {
// Setup parameters to send to ASP controller
let params = new URLSearchParams();
params.set("aLogin", aLogin); // => Left side must match Controller method parameter
params.set("aMdp", aMdp);
// Setup the http request
let lHttpRequestBody = params.toString();
let lControllerAction: string = "/connexion/?";
let lControllerFullURL: string = this.controllerURL + lControllerAction;
// Call the ASP.NET controller : APIController
return this.http.get(lControllerFullURL + lHttpRequestBody)
.map((res: any) => {
let data = res.json();
// Manage cases
switch (data.status) {
case "success":
this.isLoggedIn = true;
this.lcLogin = aLogin;
break;
case "error":
this.isLoggedIn = false;
throw new Error("Failure : " + data.message);
}
}
).catch(this.handleError);
}
然后只需将Angular2组件中的数据显示到模板HTML中,或者像我的login()
方法一样执行一些操作:
// Manage authentication
login(username, password) {
this.authService.login(username, password)
.subscribe(() => {
// Call the service Method
if (this.authService.isLoggedIn) {
// Redirect the user to master component
this.router.navigate(['/master/dashboard']);
}
});
}