Flask API调用本地方法

问题描述

im当前正在创建一个API,它将获取一些输入并以json格式返回字典列表,我遇到的问题是当我想调用我的方法时,有时会从CORS中收到错误,但主要是因为它无法从调用它们的地方找到我的方法,这是一个示例:

from flask import Flask
import sqlite3
from pyswip import Prolog

def prologQuery():
    prolog = Prolog()
    prolog.consult("bdlogica.pl")
    g = prolog.query("propiedad(X,habitat(aquatico))")
    Lis = list(g)
    return Lis

app = Flask(__name__)
api = Api(app)
cors = CORS(app,resources={r"/api/*": {"origins": "*"}})


class Animales(Resource):
    def get(self):
        result = prologQuery()
        return result 
api.add_resource(Animales,"/api/get-json")


if __name__ == "__main__":
    app.run(debug=True)

当前在上面的代码中找不到prologQuery(),该方法可以按需工作,因为当我这样调用它时,我得到了想要的结果

from flask import Flask
import sqlite3
from pyswip import Prolog

def prologQuery():
    prolog = Prolog()
    prolog.consult("bdlogica.pl")
    g = prolog.query("propiedad(X,"/api/get-json")

if __name__ == "__main__":
    app.run(debug=True)

但似乎无法实现该功能,烧瓶本身的错误是:

prologQuery()尚未定义

前端错误

GEThttp://127.0.0.1:5000 / api / get-json [HTTP / 1.0 500内部服务器 错误80毫秒]

跨源请求被阻止:同源策略禁止阅读 http://127.0.0.1:5000/api/get-json上的远程资源。 (原因: CORS标头“ Access-Control-Allow-Origin”丢失)。

尝试获取时未捕获(承诺)TypeError:NetworkError 资源。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)