我正在尝试将值从ng2服务发布到我的MVC WebAPI。当值为false
时,它可以工作。当值为true
时,它不会回发。
我的服务。
EnrolStudent(HasCriminal: boolean): Observable<number> {
console.log(HasCriminal);
return this.http.post('/api/student/enrolstudent', HasCriminal).map(result => {
return result.json() as number;
}).catch(error => {
console.log(error);
return Observable.throw(new Error('Error occured in calling EnrolStudent service'));
});
}
在上面的代码中,我可以在控制台中跟踪并清楚地看到HasCriminal
是真/假。
但是,如果值为true
,即使我在控制台中看到true
,它也不会发送任何内容。
您能否建议我如何将此布尔值正确发送到我的MVC Webapi?
答案 0 :(得分:0)
对于单个原始值,您必须使用url编码。或者,您可以将其包装在客户端和服务器端的对象中。假设您希望保持服务器代码不变,则需要修改所需的客户端代码。
const options = {
headers: new Headers({ 'content-type':'application/x-www-form-urlencoded'})
} as RequestOptionsArgs;
const data = '=' + HasCriminal.toString();
return this.http.post('/api/student/enrolstudent', data, options).map((result: Response) => {
return result.json() as number;
}).catch(error => {
console.log(error);
return Observable.throw(new Error('Error occured in calling EnrolStudent service'));
});