@Galdar
Web, JS, PHP, NGINX, Linux

Как сделать POST запрос, крик души?

Добрый день!
Делаю запрос через Angular, исходник установлен на сертифицированном сервере. Но выдает вот такую ошибку:
Первый способ

Ошибка:
5ef1e6586186f796763184.png
Код:
var xhr = new XMLHttpRequest();
    xhr.open('POST', 'https://api3.******/');
    xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');


    xhr.responseType = 'json'

    xhr.onload = () => {
      console.log(xhr.response)
    };

    xhr.send(JSON.stringify({
      "login": "******",
      "pass": "*****"
    }));



Второй способ

Ошибка:
5ef1e608c7c70103656224.png
Код:
let headers = { headers: new HttpHeaders({'Content-Type': 'application/json; charset=UTF-8'}) }
    let body = new HttpParams()
    body.set("login", "******")
    body.set("pass", "******")



    this.http.post<any>('https://api3.******',
      body,
      headers
    ).subscribe((data)=>{
      console.log(data)
    })



Как решить эту проблему и получить ответ от сервер? Я уже весь инет перерыл. Уже и с CROS находил ответ и без и только как не пробовал, но не работает именно в Angular. Я уже думаю может нужно установить библиотеку!
  • Вопрос задан
  • 190 просмотров
Пригласить эксперта
Ответы на вопрос 4
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
this.http.post(url, {
  login, password
})


ниче не надо больше.
Подписываешься, реквест отправляется, json в body будет автоматом.
Ответ написан
@alexmixaylov
Поставьте axios, это стандарт для работы с запросами
и что это у вас в коде this.http.post
вы так отправляете запрос?
Ответ написан
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Заюзай fetch, посмотри что отдает.
https://developer.mozilla.org/ru/docs/Web/API/Fetc...
Ответ написан
Denis_maker
@Denis_maker
✔ Инженер-программист. Веду весь спектр разработки
На клиенте пиши так:
import { HttpClient, HttpHeaders } from '@angular/common/http';

export class Твой_класс {

  headers = new HttpHeaders();
  options = { headers: this.headers, withCredintials: false };

  constructor(private http: HttpClient) {}

  post(data: any) {
    this.http.post('https://........./', data, this.options).subscribe(data => {
       console.log('Ответ сервера: ', data); 
       // Затем смотри, что лежит в data, вероятно просто json поломанный приходит.
       // Проверить ответ на корректность можно здесь: http://json.parser.online
    }
  }
}
Ответ написан
Ваш ответ на вопрос

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

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