2017-02-12 38 views
1

我有使用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。一切都很好,但現在我必須在沒有jQuery的情況下做出相同的ajax請求。 此請求必須與所有參數類似(因爲服務僅理解這些參數)。

我試着做用取()相同:

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); 

    } 

結果 - 錯誤
{ 「地位」:「錯誤「,」消息「:」rss_url參數是必需的「}

任何幫助將不勝感激。

+0

你知道有這個涼爽的地方在Mozilla的,我敢說上有說明文檔這些東西...... https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch – Darkrum

+0

是的。我知道。 我已經從這裏拿取這個例子(url,config)。 但是,謝謝。 @Darkrum – Donny913

+0

如果你確實讀了它,你會注意到只有請求中沒有數據對象,而且GET也不能有一個主體。 – Darkrum

回答

1

如果你想要做的那些PARAMS一個GET,只是把他們的網址,您給fetch()或XHR:

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