【问题标题】:Angular2 HTTP POST An error occurred SyntaxError: Unexpected end of JSON inputAngular2 HTTP POST发生错误SyntaxError:JSON输入意外结束
【发布时间】:2017-02-18 16:47:18
【问题描述】:

我有错误同时 angular2 将休息数据发布到 NodeJS 后端。

我看到 POST 已完成,服务器 LOG 正确数据,但浏览器上显示错误。

发生错误: SyntaxError: JSON.parse: JSON 数据的第 1 行第 1 列的数据意外结束

我的 NG2 呼叫和服务:

onSubmit(form:FormGroup) {
        let userform: FormGroup = form.value;
        console.log("userform: ", userform);

        if (form.valid) {
            console.log(form.value);
            this.appService.signIn(userform)  
                .subscribe(form => console.log('subscribe: ', form))
        } else {
            console.log("Form is not VALID!"); 
        }
    }

服务:

signIn(dataUser: Object): Observable<User> {
   dataUser = JSON.stringify(dataUser);
   debugger;

    let headers = new Headers({
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin': 'http://127.0.0.1:3005'
    });
    let options = new RequestOptions({ headers: headers });

    console.log("data: ", dataUser, "\nHeaders: ", headers);

    return this.http
        .post( this.signInUrl, dataUser, options)
        .map( (res:Response) => res.json().data || {  } as User )
        .catch(this.handleError);

}

和nodeJS:

app.post('/login', function (req, res) {
    console.log("Recived login request!");
    console.log("Request: ", req.body);
    res.header({
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE',
        'Accept': 'q=0.8;application/json;q=0.9'
    })
    res.end();
});

在帖子中我们有:"{"username":"username","password":"password"}"。

我做错了什么?请寻求帮助或解决方案。

【问题讨论】:

    标签: json node.js angular typescript


    【解决方案1】:

    哇。那是我的错,请注意您的 NodeJS 服务器响应。获得 POST 后,应发送任何 res.json({status: "OK"}) 或类似的东西,以获得响应。这个错误不是因为Angular2,而是因为NodeJS。浏览器从 nodeJS 得到空响应,或者不是 JSON 格式。

    【讨论】:

      猜你喜欢
      • 2020-10-10
      • 2018-08-24
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 2021-05-01
      • 1970-01-01
      相关资源
      最近更新 更多