响应正文为空(获取请求)[重复]
Posted
技术标签:
【中文标题】响应正文为空(获取请求)[重复]【英文标题】:Response body is null(Fetch request) [duplicate] 【发布时间】:2020-04-17 08:12:19 【问题描述】:我正在尝试向银行 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));
`
【问题讨论】:
【参考方案1】:您正在将其作为无cors 请求执行。这些受到严格限制,您无法阅读正文。
请参阅 ***.com/questions/45696999/fetch-unexpected-end-of-input
此外,您不会返回 .json()
的结果,因此您的函数在所有情况下都会向 undefined
返回一个承诺。
【讨论】:
response.json ()
也无济于事
你是对的 - 那是另一回事 - 但根本原因确实是不正确。【参考方案2】:
我认为您正在尝试使用 no-cors 来获取数据,而该站点未提供正确的标头,那么您的代码将无法访问响应 正确的解释可见how to process fetch response from an 'opaque' type?
【讨论】:
以上是关于响应正文为空(获取请求)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
正文未在“获取”POST请求和(我的)解决方案中发送[重复]
无法使用来自axios请求的request.form在flask api中获取请求正文[重复]
Google Cloud Functions 节点 JS - 来自客户端获取的 POST 请求,请求正文未通过 [重复]