栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从浏览器中运行的前端JavaScript代码调用Yelp API

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从浏览器中运行的前端JavaScript代码调用Yelp API

造成此问题的原因是

https://api.yelp.com/
不支持CORS。

而且,您无法在自己的应用程序代码中解决此问题-无论您尝试什么,都无法更改

https://api.yelp.com/
不支持CORS 的事实。

显然,虽然Yelp API确实支持JSONP。)。

因此,在前端代码中使用https://api.jquery.com/jquery.getjson/或类似代码将使您可以从前端代码向Yelp
API跨域请求。


Yelp API示例回购的GitHub问题跟踪器中的一个相关问题确认没有CORS:

TL; DR:api.yelp.com不支持CORS

还有另一个相关问题:

正如我在#99中回答的那样,我们没有提供使用客户端js直接向api发出请求所需的CORS标头。

上面引用的两个评论均来自Yelp工程师。

因此,这意味着,您的前端Javascript代码无法直接向Yelp API端点发出请求并获得常规响应(与JSONP响应相反)。

具体来说,由于来自

https://api.yelp.com/v3/businesses/search
API端点的
Access-Control-Allow-Origin
响应不包含响应标头,因此浏览器将不允许您的前端Javascript代码访问这些响应。

另外,由于您的请求包含

Authorization
和,并且
Content-Type
标头包含值
application/json
,因此您的浏览器会在尝试发送实际请求之前执行CORS预检选项请求
GET

在这种情况下,预检是特别失败的。但是,从前端Javascript代码到该API端点的任何其他请求也会失败,即使它没有触发预检。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376058.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号