响应主体为空(获取请求)

时间:2019-12-27 10:30:17

标签: javascript api cors fetch

我正在尝试向银行API发出请求,并以json格式获取其分支。

但是我得到一个空洞的答复。 Response

尽管,如果将链接插入浏览器,我将获得json格式。

https://api.privatbank.ua/p24api/pboffice?json&city=Ивано-Франковск

请求Results

的工作方式

错误Error

var address = document.getElementById('address').value;

function postData(url = '', data = {}) {
  console.log(url);
  
    return fetch(url, {
        method: 'GET', 
        mode: 'no-cors', 
        headers: {
          "Accept": "application/json",
          'Access-Control-Allow-Origin':'*'
      }
        
    }).then(response => {
      console.log(response);
      if (response.ok)
      {
        response.json()
      }
      else {
        throw new Error('Something went wrong');
      }
    }); 
}

postData(`https://api.privatbank.ua/p24api/pboffice?json&city=${address}`, {})
  .then(data => console.log(JSON.stringify(data))) 
  .catch(error => console.error(error));

`

2 个答案:

答案 0 :(得分:0)

您正在按无要求执行此请求。这些都有严格的限制,您不能阅读它的正文。

请参阅stackoverflow.com/questions/45696999/fetch-unexpected-end-of-input

此外,您不会返回.json()的结果,因此您的函数在所有情况下都将向undefined返回一个诺言。

答案 1 :(得分:0)

我认为您正在尝试在网站未提供正确标题的情况下使用无芯取数据,从而您的代码将无法访问响应 可以在how to process fetch response from an 'opaque' type?

中找到适当的解释