2016-09-20 3 views
0

Я новичок в Angular2. Я пытаюсь назвать простой вызов Java REST от Angular2. Когда я отправляю данные, я вообще не получаю ошибку, но мой метод java post не вызывается.Метод POST не работает в Angular2

Angular2 ПОСЛЕ

let emplyee = JSON.stringify(this.object); 
    let url = 'http://localhost:8080/rest-app/rest/employeeService/insertEmployee'; 
    console.log("Data: " + emplyee); 
    let headers = new Headers({'Content-Type': 'application/json'}); 
    let options = new RequestOptions({headers: headers}); 
    this.http.post(url, emplyee, options); 

Java POST

ме-
@POST 
@Path("/insertEmployee") 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public String insertEmployee(String employee) { 
    logger.debug("Employee: " + employee); 
    return "Hello"; 
} 
+0

Какой ответ вы получаете? добавьте '.subscribe (res => console.log (res))' прямо после 'this.http.post()' в 'console.log' ответ. – Supamiu

+0

@Supamiu thnx для ответа, этот ответ я получил, ** Ответ на запрос предполетной проверки не прошел проверку контроля доступа: нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе. Происхождение 'http: // localhost: 3000', следовательно, не допускается. ** – deen

ответ

1

Проблема в том, что предварительный результат не проходит. Вы должны разрешить запросы CORS в Java API (вы должны добавить заголовок Access-Control-Allow-Origin *, см. Документ API lib, чтобы узнать, как его добавить).

Вот почему вы получаете сообщение об ошибке, потому что ваш запрос перед полетом не проходит.

EDIT: см. How to make CORS-enabled HTTP requests in Angular 2? для получения дополнительных пояснений по проблеме.

0

Вы должны добавить подписку как this-

this.http.post(url, emplyee, options) 
    .subscribe((response) => { 
      //handle response here 
    }) 
    .catch(this.handleError); 

Если вы хотите использовать обещание затем использовать его как это-

this.http.post(url, employee, options) 
     .toPromise() 
     .then(this.extractData) 
     .catch(this.handleError); 

 Смежные вопросы

  • Нет связанных вопросов^_^