使用Spring Boot Rest Api的Angular4中的Access-Control-Allow-Origin错误

时间:2017-10-28 12:27:33

标签: angular rest spring-boot

这是service.ts代码。我正在使用服务器端REST API进行身份验证    用户名和密码。即使在服务器端存在CORS之后也是如此    错误仍然存​​在。如果有人知道我在做什么,我会帮助我    提前致谢。

import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';

 @Injectable()

 export class Service {

  constructor(private http: Http) { }

   authenticate(model) {
   var creds = "name=" + model.email + "&password=" + model.password;
   console.log(creds)
   var headers = new Headers();
   headers.append('Content-Type', 'application/json');

   return new Promise(resolve => {
       this.http.post('http://sample.sample.com/api/authenticate', creds, {headers: headers}).subscribe(data => {
           if(data.json().success){
               resolve(true);
           }
           else
               resolve(false);
       });
   });
   }

   }

2 个答案:

答案 0 :(得分:1)

   var creds = {"name":model.email,"password" : model.password};

您需要传递这样的数据。

   this.http.post('http://sample.sample.com/api/authenticate', JSON.stringify(creds), {headers: headers}).subscribe(data => {

答案 1 :(得分:0)

您需要在服务器/ API中启用CORS,当未启用CORS时会发生此错误。