2017-02-12 8 views
1

У меня есть простой запрос, используя JQuery Ajax()поставить конкретные данные в запросе Ajax с использованием выборки() или XMR/any_other_type_of_ajax-запрос, как то же самое в JQuery AJAX

getJson() { 
    $.ajax({ 
      url: 'http://api.rss2json.com/v1/api.json', 
      method: 'GET', 
      dataType: 'json', 
      data: { 
       rss_url: 'https://news.yandex.ru/sport.rss', 
       api_key: 'lpdljjsrqnqsmtp0zqbngg0yjoeykl0iiw6f5lvnf', 
       count: 15 
      } 
     }) 
     // other code 
} 

Это запрос на служба, которая принимает rss (из rss_url) и возвращает JSON. Все в порядке, но теперь я должен сделать тот же запрос ajax без jQuery. Этот запрос должен выглядеть так со всеми параметрами (потому что сервис понимает только те параметры).

Я попытался сделать то же самое с помощью выборки():

getJson() { 
    let url = 'http://api.rss2json.com/v1/api.json'; 
    let config = { 
     method: 'GET', 
     dataType: 'json', 
     data: { 
      'rss_url': 'https://news.yandex.ru/politics.rss', 
      'api_key': 'lpdljjsrqnqsmtp0zqbngg0yjoeykl0iiw6f5lvnf', 
      count: 15 
     } 
    } 

    fetch(url, config) 
     .then(response => { 
      console.log(response); 
     }) 
     .catch(error => { 
      console.log(error); 
     }); 
} 

пытался использовать XMLHttpRequest

getJson() { 
     let xhr = new XMLHttpRequest(); 
     let jsonData = JSON.stringify({ 
       rss_url: 'https://news.yandex.ru/politics.rss', 
       api_key: 'lpdljjsrqnqsmtp0zqbngg0yjoeykl0iiw6f5lvnf', 
       count: 15 
     }); 
     xhr.open('GET', 'http://api.rss2json.com/v1/api.json', true); 
     xhr.onreadystatechange =() => { 
      xhr.onload =() => { 
       if(xhr.status === 200) { 
        console.log(xhr.response); 
       } 
       else { 
        console.log('error ' + xhr.status); 
       } 
      }; 
      xhr.onerror =() => { 
       console.log('Connection error'); 
      } 
     }; 
     xhr.send(jsonData); 

    } 

В результате - ошибка
{ "статус": "ошибка "," message ":" rss_url параметр "}

Любая помощь будет высоко оценена.

+0

Вы знаете, что это прохладное место над на Mozilla, что я осмелюсь сказать, есть документация на такие вещи ... https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch – Darkrum

+0

Да. Я знаю. Я взял этот пример fetch (url, config) оттуда. Но спасибо. @Darkrum – Donny913

+0

Если вы прочитали это правильно, вы заметили бы, что объект данных на запросах не является только телом, а также GET не может иметь тело. – Darkrum

ответ

1

Если вы хотите сделать GET с этим Params, просто поместите их в URL вы даете fetch() или XHR:

let url = 'http://api.rss2json.com/v1/api.json?rss_url=https://news.yandex.ru/politics.rss&api_key=lpdljjsrqnqsmtp0zqbngg0yjoeykl0iiw6f5lvnf&count=15'; 

 Смежные вопросы

  • Нет связанных вопросов^_^