@lexstile

Почему у меня все запросы падают с политикой CORS, если код ответа не 200?

Есть метод, который дергаю с фронта:
public function callAccountAction() {
		sleep(1);
		
		http_response_code(403);
		// $this->sendResponse('error', ['error_code' => 1001, 'error_message' => 'Invalid request. Error code: 1001']);

		$data = $this->getStreamInput();
		
		$status = $this->ckeckSignature($_SERVER['HTTP_AUTHORIZATION']);
		
		if (!$status) {
			http_response_code(403);
		}
		
		if (empty($data->user->id)) {
			http_response_code(400);
		}

		if (!$this->model->isUserExists($data->user->id)) {
			$this->model->addUser($data->user);
			$this->sendResponse('success', ['status' => true, 'isInitial' => true]);
		}
		
		$this->sendResponse('success', ['status' => true]);
	}

Ставлю код ответа 403, сразу падет по CORS.
Мне на фронте нужно узнать статус ответа от сервера (если ставлю код ответа 200 - все работает корректно).
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если у вас не CORS-безопасный запрос, то браузер сначала шлёт запрос OPTIONS, на который надо ответить с кодом 200 и выставлением необходимых CORS-заголовков.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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