MediaWiki API, символы sh - PullRequest
       1

MediaWiki API, символы sh

0 голосов
/ 07 января 2020

Я написал приложение, которое запрашивает строку поиска для API MediaWiki и возвращает результаты. Однако этот фрагмент кода не работает при попытке вставить символы poli sh в строку URL.

Моя функция запроса GET

function GET(url) {
    var xhr = new XMLHttpRequest(); // a new request
    xhr.open("GET", url, false);
    xhr.setRequestHeader('Content-type', 'application/json; charset=UTF-8')
    try {
        xhr.send(null);
    } catch (e) {
        throw e;
    }
    return xhr.responseText;
}

Я получу ответ позже, если это важно const resultJSON = JSON.parse(GET(searchUrl));, и это строка, в которой мой код перестает работать. Хотя приложение не падает, но не отвечает. Нет ошибок Также, если ответ содержит символы poli sh, он работает правильно. Ссылка для всего контекста: https://hastebin.com/eqaxoxorot.js

1 Ответ

1 голос
/ 07 января 2020

Попробуйте закодировать URL перед отправкой запроса, чтобы избежать наличия специальных символов внутри:

const uri = encodeURI('http://zażółćgęsląjaźń.com');
// result: http://za%C5%BC%C3%B3%C5%82%C4%87g%C4%99sl%C4%85ja%C5%BA%C5%84.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...