我正在尝试对远程服务器进行api调用,最初,我遇到以下错误:请求的资源上不存在“Access Control Allow Origin”头
我暂时解决这个错误,方法是在链接之前附加
https://cors-anywhere.herokuapp.com
链接,或者有时使用Moesif Cors-On-where chrome扩展。读取现在返回200 ok状态
,但响应是空的。
body: ReadableStream
locked: true
__proto__: ReadableStream
bodyUsed: true
headers: Headers {}
ok: true
redirected: false
status: 200
statusText: "OK"
type: "cors"
response: {}
data: undefined
但是,如果我在postman上运行相同的查询,它将返回预期的响应json对象。我该如何解决这个问题?
const searchFlightData = (to, from, depDate, adults) => {
fetch(`http://api.travelpayouts.com/v1/prices/direct?origin=${from}&destination=${to}&depart_date=2017-11&return_date=2017-12&token=${tp_token}`)
.then(response => {
if (response.ok) {
console.log(response)
return response
}
else
console.log(`Looks like something went wrong. Status: ${response.status}`)
})
.then(response => {
response.json()
console.log("response: " + JSON.stringify(response))
})
.then(data => {
console.log("data: " + data)
})
.catch(error => {
console.log(error)
})
}
在前端请求中添加accept all的标头,如下所示
响应。json()
返回一个promise,您必须等待解决此问题。如果希望链中的下一个,然后
接收某些内容,则还必须返回一些内容。
像这样的东西应该工作:
const searchFlightData = (to, from, depDate, adults) => {
fetch(`http://api.travelpayouts.com/v1/prices/direct?origin=${from}&destination=${to}&depart_date=2017-11&return_date=2017-12&token=${tp_token}`)
.then((response) => {
if (response.ok) {
return response
} else {
throw `Looks like something went wrong. Status: ${response.status}`;
}
})
.then(response => response.json())
.then(data => {
console.log("data: " + data)
})
.catch(error => {
console.log(error)
})
}
或者用你的控制台。日志:
return response.json().then((data) => console.log(data));
如果要从服务器请求数据,则必须将其位于同一域上,或者必须设置“Access-Control-Allow-Origin”标题。我不会依赖
https://cors-anywhere.herokuapp.com
对于开发,您可以使用
代理服务器来绕过此限制。(许多框架已经有了解决方案,我不知道您使用哪一个)
我有一个简单的helper来发送post请求并返回结果,它应该与自定义构建的API进行通信,所有的工作都离不开一个特定的URL。 我的helper方法如下所示(使用RestSharp) 我要求如下: 非常感谢任何帮助。
所以我想打印响应的结果,然后使用gson为模型生成数据,但响应永远不会得到返回,因为调用了onResponse。! 如果你注意到Logcat,日志。我的回答没有显示。。!?但是在使用该请求的活动的onSuccess中,它通常会显示日志,但是如果日志包含响应对象,它不会显示哪个非常奇怪,也没有任何意义。。!? Logcat公司 我尝试使用具有相同url和参数的PostMan测试请求,它通常返回jso
我想使用GooglePlaceAPI和自动完成视图。我有开发者控制台上的android和浏览器密钥。但当我尝试这些键API时,它返回空响应。 Logcat: D/Volley:[2651]a.a:请求的HTTP响应= 我的代码: 在onpostexecute日志中: 我是新来的google地方api,请帮我找到什么是错误的。
问题内容: 我正在使用Node的模块发出 HTTP 请求,但是在上,返回的块似乎并不满足完整的请求响应。这是我的代码: 有没有办法在结束请求之前等待完整的输出?难道我做错了什么?谢谢! 问题答案: 您还应该收听“结束”事件
我见过龙卷风文档和示例,其中self.write方法被广泛用于在超文本标记语言上呈现一些值,其中POST请求在处理程序中运行。但是我找不到关于如何将响应返回给客户的清晰信息。 例如,我正在从我的客户端调用Tornado服务器上的POST请求。接受post请求的代码为: 有了这个,我可以找到cbtp的值,有了,我可以用HTML打印它。但是,相反,我想以JSON格式将这个值返回给客户机,比如我想知道如
我正在尝试调用FlickR API,但由于response.body()返回null而遇到困难。 我不确定它是否与我的JSON/POJO映射相关,但我无法弄清楚当我调用Flickr时如何访问来自改版的响应。我知道我的调用已经成功完成,因为我实际上能够通过日志拦截器查看JSON。 型号: 活动 }