Не удается получить доступ к API Wikidata

Я пытаюсь использовать API Wikidata, но все, что я получаю, это:

API загрузки не может загрузить https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Ingmar%20Bergman&language=en&limit=20&format=json&origin=http%3A%2F%2Fwww.dev.example.com%3A3000. Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Поэтому происхождение ' http://www.dev.example.com:3000/' не разрешено. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса "no-cors", чтобы получить ресурс с отключенным CORS.

Это код:

const headers = new Headers();

const origin = "http://www.dev.example.com:3000";
headers.append("Origin", origin);
headers.append("Content-Type", "application/json; charset=UTF-8");

const url = "https://www.wikidata.org/w/api.php";

const query = {
    action: "wbsearchentities",
    search: "Ingmar Bergman",
    language: "en",
    limit: 20,
    format: "json",
    origin
};

const myInit = new Request(url + "?" + qs.stringify(query), {
    method: "GET",
    mode: "cors-with-forced-preflight",
    headers
});

fetch(myInit)
    .then(function(res) {
        console.log(res);
    })
    .catch(function(err){
        console.log(err);
    });

Я пробовал JSONP, но безуспешно. Запуск ссылки в браузере (только без параметра origin) дает правильный ответ.

2 ответа

Решение

Так зачем вообще добавлять параметр "origin"? Просто оставьте его или добавьте "&callback=some_function", чтобы получить JSONP.

Другие вопросы по тегам