2016-10-10 16 views
1

NodeJSバックエンドにエラー2の間にエラーが発生しました。Angular2 HTTP POSTエラーが発生しましたSyntaxError:JSON入力の予期しない終了

POSTが完了しました。サーバーはLOGデータですが、ブラウザにエラーが表示されています。

エラーが発生しました: にSyntaxError:JSON.parse:

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!"); 
     } 
    } 

サービス:

JSONデータの行1列1

マイNG2通話やサービスでのデータの予期せぬ終了を

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"} "があります。

私は間違っていますか?助けや解決のためにお願いします。

答えて

0

Awwwww。それは私の悪いことでした、あなたのNodeJSサーバーの応答を世話してください。 POSTを取得した後、応答を得るには、res.json({status: "OK"})または類似のものを送ってください。このエラーはAngular2のためではなく、NodeJSのためです。ブラウザがnodeJSから空のレスポンスを取得するか、JSON形式ではありません。

関連する問題