我用React.js和烧瓶构建了一个简单的影院管理演示应用程序。
所有电影(从烧瓶中取出)都显示在其中的React组件,工作正常--只要我从同一台计算机 (http://localhost:3000/movies )中访问React http://localhost:3000/movies。
当我尝试从网络中的另一台计算机访问React时,使用源计算机IP (在我的例子中是10.0.0.14 ( http://10.0.0.14:3000/movies ) ),虽然React是工作的,但我无法进行axios调用,并得到以下错误。
GET http://localhost:5000/movies net::ERR_CONNECTION_REFUSED
Uncaught (in promise) AxiosError {message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', config: {…}, request: XMLHttpRequest, …}
xhr.js:220 GET http://localhost:5000/movies net::ERR_CONNECTION_REFUSED
现在,这是我的React代码中用于发出请求的部分。
useEffect(() =>
{
async function getMovies()
{
let resp = await axios.get("http://localhost:5000/movies/");
setMovies;
}
getMovies()
},[])
这是我的酒瓶代码:
from flask import Flask
import json
from bson import ObjectId
from flask_cors import CORS
from routers.persons import persons
class JSONEncoder(json.JSONEncoder):
def default(self, obj) :
if isinstance(obj, ObjectId):
return str(obj)
return json.JSONEncoder.default(self,obj)
app = Flask(__name__)
CORS(app)
app.url_map.strict_slashes = False
app.json_encoder = JSONEncoder
app.register_blueprint(persons, url_prefix="/movies/")
app.run()
有人能告诉我如何解决这个问题并允许axios请求在访问另一个设备时作出反应吗?
发布于 2022-09-25 18:12:17
检查react应用程序的API调用。您正在使用localhost,即使您是从不同的主机浏览器执行api调用。将本地主机更改为api主机ip,然后它将工作。
将其更改为http://localhost:5000/movies/
为http://<api-ip-address>:5000/movies/
。
https://stackoverflow.com/questions/73846752
复制相似问题