javascript - api调用在其本地主机时有效,但在部署到firebase后不起作用
问题描述
我有一个应用程序,它使用新闻 api 获取一堆新闻文章并将其显示在页面中,该应用程序在运行 localhost 时可以找到,但在部署到 firebase 后,它不会返回任何数据。
这是我的代码
import React, { createContext, useEffect, useState } from "react";
import axios from "axios";
export const NewsContext = createContext();
export const NewsContextProvider = (props) => {
const [data, setData] = useState();
const apiKey = "xxx";
useEffect(() => {
axios
.get(
`http://newsapi.org/v2/top-headlines?country=ca&category=health&apiKey=${apiKey}`
)
.then((response) => setData(response.data))
.catch((error) => console.log(error));
}, []);
return (
<NewsContext.Provider value={{ data }}>
{props.children}
</NewsContext.Provider>
);
};
import React, { useContext } from "react";
import { NewsContext } from "../NewsContext";
import NewsArticle from "./NewsArticle";
import './news.css'
function News(props) {
const { data } = useContext(NewsContext);
console.log(data);
return (
<div>
<h1 className="head__text">Today's News</h1>
<div className="all__news">
{data
? data.articles.map((news) => (
<NewsArticle data={news} key={news.url} />
))
: "Loading"}
</div>
</div>
);
}
export default News;
现在在我的网站上,它只显示“正在加载”,这意味着没有返回数据。而且我也收到此错误:错误:XMLHttpRequest.h.onerror (xhr.js:91) 的 t.exports (createError.js:16) 的网络错误
解决方案
推荐阅读
- angular - 如何在同一个项目中使用另一个库的角度构建一个库
- c++ - 如何评估开关中的 QChar 对象?
- python - ImportError:无法从部分初始化的模块“gi”导入名称“_gi”(很可能是由于循环导入)
- rest - 弹性搜索/Logstash
- isabelle - Simp 不使用 Isabelle 中提供的引理
- mysql - SQL在连接中选择最近的行
- c# - C#:当用户拒绝授予提升的权限时如何捕获异常?
- assembly - 如何将 NaN 插入 xmm 寄存器?
- java - 无法创建其他布局版本
- spring - OSIV 和 JPA 实体监听器 @PreUpdate 之间的关系