【发布时间】:2018-03-22 13:20:11
【问题描述】:
我已经为前端创建了一个包含 angular2 的项目,并且我还创建了 webapi 项目来使用数据库中的数据。 控制器代码返回模型:
UserInfo = JsonConvert.DeserializeObject<List<UsersVM>>(Response);
我想在我的角度视图中迭代这个数据模型。我尝试创建有角度的 http 调用。但这在我的情况下是不可接受的。我需要从我的 mvc 控制器调用 webapi,然后从 angular2 视图中渲染该数据。
角度模型是:
export interface IUser {
Id: number;
ProductName: string;
ProductPrice: string;
}
Angular 服务代码是:
import {
Injectable
} from '@angular/core';
import {
Http, Response, RequestOptions,
Request, RequestMethod, Headers
} from '@angular/http';
import {
IUser
} from './user';
import {
Observable
} from 'rxjs/Observable';
import 'rxjs/add/operator/do';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
@Injectable()
export class UserService {
private _productUrl = 'Home/GetAllProducts';
constructor(private _http: Http) { }
getProducts(): Observable<IUser[]> {
return this._http.get(this._productUrl)
.map((response: Response) => <IUser[]>response.json().value)
.catch(this.handleError);
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
陷入困境,谷歌中可用的任何链接都无法正确解决我的问题。 请指导。 谢谢
【问题讨论】:
-
我认为您需要调用完整的 URL,例如:localhost:PORT/Home/GetAllProducts
-
你得到的错误是什么?此外,您应该使用新的 http api 而不是旧的:angular.io/guide/http
-
我的 mvc 控制器方法中有正确的数据,我想绑定它并使用 angular2 循环,这是我在 angular2 中的新功能。
-
@krunalpatel "this._productUrl" 应该是实际的 'api 的托管路径' + 'api 的路由路径' 例如。 "localhost:50962/products/getdetails/1"
标签: asp.net-mvc angular