Почему мой вызов JavaScript API возвращает ошибку 400? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть вызов API, который получает ошибку 400 «Не удалось загрузить ресурс». Я попытался удалить куки и кеш и использовать другой браузер. Я также удалил изображение, когда увидел, что проблема в размере изображения. Я читал о необходимости HTTP-заголовков, но не понимал, куда это может пойти в моем коде или как это будет выглядеть. Будем очень благодарны любой помощи! Вот мой JS:

    const app = document.getElementById('root');

    const container = document.createElement('div');
    container.setAttribute('class', 'container');

    app.appendChild(container);

    var request = new XMLHttpRequest();
    request.open('GET', 'https://www.themuse.com/api/public/jobs', true);
    request.onload = function () {

    // Begin accessing JSON data here
    var data = JSON.parse(this.response);
    if (request.status >= 200 && request.status < 400) {
    data.forEach(job => {
    const card = document.createElement('div');
    card.setAttribute('class', 'card');

    const h1 = document.createElement('h1');
    h1.textContent = job.title;

    const p = document.createElement('p');
    job.description = job.description.substring(0, 300);
    p.textContent = `${job.description}...`;

    container.appendChild(card);
    card.appendChild(h1);
    card.appendChild(p);
      });
    } else {
    const errorMessage = document.createElement('marquee');
    errorMessage.textContent = `Darn, it's not working!`;
    app.appendChild(errorMessage);
       }
         }

    request.send();

1 Ответ

0 голосов
/ 16 ноября 2018

Если вы попытаетесь загрузить https://www.themuse.com/api/public/jobs в браузер, вы получите ошибку 400 вместе со следующим сообщением об ошибке:

{"code": 400, "error": "Недопустимый аргумент для 'page'"}

Эта страница требует от вас предоставления ненулевой переменной с именем page через ваш запрос GET.

Если вы загрузите страницу как https://www.themuse.com/api/public/jobs?page=1 (например), вместо этого вы сможете успешно загрузить данные, и ваша проблема исчезнет!

...