如何解决使用javascript和axios搜索Twitter用户
我正在尝试连接到twitter api,以便使用其用户名搜索用户。我已经阅读了以下文档,但仍不确定即时消息处理方式是否正确:
代码如下:
Axios实例:
export const searchForUser =(searchTerm)=> async (dispatch) => {
const response = await twitter.get(`by/username/:${searchTerm}/TwitterDev?user.fields=profile_image_url,name`)
dispatch({type:SEARCH_FOR_USER,payload:response.data})
};
获取请求
{{1}}
我对javascript很陌生,并且使用API,所以我有很多问题:
- 文档使用curl请求。我对curl请求的理解是有限的,因此可以使用nodejs和axios执行相同的操作吗?
- 我是否正确定义了axios实例(例如,定义了标头)?
- 如果以上答案是肯定的,那我要去哪里错了?
我的控制台中也出现此错误“从来源'访问'https://api.twitter.com/2/by/username/:j/TwitterDev?user.fields=profile_image_url,name'的XMLHttpRequest” “ http:// localhost:3000”已被CORS策略阻止:对预检请求的响应未通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。“
HTTP错误代码为400
解决方法
看起来您的服务器不包含响应预检请求(OPTIONS)的Access-Control-Allow-Origin标头。
如果缺少Access-Control-Allow-Origin,则CORS请求将失败。如果遇到CORS错误,建议您使用Node.js进行API调用。
以下是一些很棒的文章,它们解释了CORS的工作原理:
https://www.html5rocks.com/en/tutorials/cors/ https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。