如何 post 从 ng2 服务到 MVC WebAPI 的布尔值

How to post boolean value from ng2 service to MVC WebAPI

我正在尝试 post 从 ng2 服务到我的 MVC WebAPI 的值。当值为 false 时有效。当值为 true.

时,它不会 post 返回

我的service.ts

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/false。

如果值为false,则正确发送参数。

但是,如果值为 true,即使我可以在控制台中看到 true,它也不会发送任何内容。

您能否建议我如何将此布尔值正确发送到我的 MVC Webapi?

对于单个原始值,您必须使用 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'));
});