Задать вопрос
losaped
@losaped
Пьяный самурай

Как послать CORS POST их Angular2 с mime-типом application/json?

Из Angular делаю POST следующим образом:
export class AuthenticationService {
    public token: string;
    private headers = new Headers({'Content-Type': 'application/json'});
...
login(email: string, password: string): Observable<boolean> {
        return this.http
                    .post("http://localhost:3500/login", JSON.stringify({ email: email, password: password }), this.headers)
...


фронт крутится на localhost:3000, т.е. как я понимаю сначала должен отправляться запрос OPTIONS, т.к. это cors и content-type 'application/json', но вместо этого отправляется обычный POST с content-type 'text/plain'

General:
Request URL:localhost:3500/login
Request Method:POST
Status Code:400 Bad Request
Remote Address:[::1]:3500

Response Headers
Content-Length:83
Content-Type:application/json; charset=UTF-8
Date:Sun, 15 Jan 2017 08:03:35 GMT

Request Headers
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:45
content-type:text/plain
Host:localhost:3500
Origin:localhost:3000
Referer:localhost:3000/login
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/55.0.2883.87 Chrome/55.0.2883.87 Safari/537.36

Request Payload
{email: "user1@email.ru", password: "user1"}
email: "user1@email.ru"
password: "user1"

Вопросов несколько: почему не отправляется OPTIONS? Как сделать, чтобы на бек-энд приходил application/json ?
  • Вопрос задан
  • 399 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
planc
@planc
фронтенд у тебя все правильно делает
options сам браузер отправляет
убей свой сервер и посмотри nc -lp 3500

бэкенд должен заголовками ответить что все норм
https://developer.mozilla.org/en-US/docs/Web/HTTP/...

чтобы на бек-энд приходил application/json ?


последний параметр не правильный у тебя

post("http://localhost:3500/login", JSON.stringify({ email: email, password: password }), {headers: this.headers})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы