DOMException: не удалось выполнить «open» для «XMLHttpRequest»: неверный URL в приложении React - PullRequest
0 голосов
/ 06 апреля 2020

Я сталкиваюсь с загадочной ошибкой. Когда я пытаюсь отправить один конкретный c запрос на сервер, я получаю следующую ошибку

DOMException: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL
at dispatchXhrRequest (http://localhost:6789/static/js/20.chunk.js:180790:13)
at new Promise (<anonymous>)
at xhrAdapter (http://localhost:6789/static/js/20.chunk.js:180773:10)
at dispatchRequest (http://localhost:6789/static/js/20.chunk.js:181396:10)

И здесь я записал фактическую строку URL

http://localhost:3000​/users​/5​/payments​/disconnect

Если я отправляю тот же запрос, но со своего хостинга на сервер разработки, я вижу ошибку 404 и URL-адрес, подобный этому

https://example.com/users%E2%80%8B/5%E2%80%8B/payments%E2%80%8B/disconnect

Это моя функция, которая отправляет запрос

  const query = `${url}​/users​/${userId}​/payments​/disconnect`;

  console.debug('Url', query);

  try {
    const { status } = await axios.delete(query);
    return status;
  } catch (e) {
    console.debug(e);
    return 500;
  }
}

Интересная вещь все остальные конечные точки работают нормально. Такое же поведение на chrome и firefox.

Что может вызвать такие проблемы?

1 Ответ

0 голосов
/ 06 апреля 2020

%E2%80%8B - это U + 200B: ZERO WIDTH SPACE , которым вы каким-то образом смогли загрязнить вашу строку.

Вы можете увидеть их в исходном коде, если копируете / вставьте строку const query = `${url}​/users​/${userId}​/payments​/disconnect`; в этого приложения .

Вероятно, ее легче всего удалить, отредактировав эту строку следующим образом:

  1. Поместите курсор после символ после /
  2. Нажимайте Backspace , пока символ до / не будет удален
  3. Повторите три символа, которые вы хотите
...