【问题标题】:How to post boolean value from ng2 service to MVC WebAPI如何将布尔值从 ng2 服务发布到 MVC WebAPI
【发布时间】:2017-05-10 09:09:19
【问题描述】:

我正在尝试将价值从 ng2 服务发布到我的 MVC WebAPI。当值为false 时,它可以工作。当值为true 时,它不会回发。

我的服务.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 是真/假。

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

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

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

【问题讨论】:

标签: angular angular2-forms angular2-services


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-12
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2016-04-17
    • 2015-03-08
    相关资源
    最近更新 更多