Особенности CORS в Angular 8 - PullRequest
0 голосов
/ 30 марта 2020

Я не вижу различий в поведении angular относительно следующих двух версий моего кода.

v1: работает без проблем

onSubmit() {
// selects all marked as checked students from from
const selectedStudents = this.studentsFormGroup.value.students
.map((checked: boolean, index: number) => checked ?
  this.listOfStudents[index].id : null)
.filter((value: number) => value !== null);

// create Student in remote_db
selectedStudents.forEach((id: number) => {
  this.studentService.createStudentById(id);
  console.warn('student created: ' + id);
});

v2: получает меня

Доступ к XMLHttpRequest по адресу http://localhost: 8888 / api / v3 / Students 'из источника' http://localhost: 4200 'заблокирован согласно политике CORS: на запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

onSubmit() {
// selects all marked as checked students from from
const selectedStudents = this.studentsFormGroup.value.students
.map((checked: boolean, index: number) => checked ? [
  this.listOfStudents[index].id,
  this.listOfStudents[index].name,
  this.listOfStudents[index].surname] : null)
.filter((value: any) => value !== null);

// create Student in remote_db
selectedStudents.forEach((student: any) => {
  this.studentService.createStudentById(student.id);
  console.warn('student created: ' + student);
});

Может кто-нибудь объяснить, что я не получаю? Мне нужна вторая версия, потому что в будущем в коде мне понадобится дополнительная информация о массиве. Любые предложения, как это можно сделать.

  • Я добавил proxy.conf. json как предложено
  • Я проверил свой API-интерфейс (Slim 4) - работает для других служб просто хорошо ...

заранее спасибо.

1 Ответ

0 голосов
/ 31 марта 2020

Хотя

checked ?
  this.listOfStudents[index].id : null

удостоверяется, что "id" равен "truey" или "null" (и поэтому отфильтровывается впоследствии), v2 не выполняет такую ​​проверку, и поэтому возможность "неопределенных" идентификаторов может возникают из-за неправильного целевого URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...