我是Java语言的新手,但遇到以下问题。所以我做一个简单的Flask API返回一个简单的json
烧瓶代码:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/test')
def test():
return jsonify({"result":"wt is works!"})
if __name__=="__main__":
app.run()
我使用它运行gunicorn -k gevent -w 5 main:app
,当我localhost:8000/test
在浏览器中签入时,它会正常返回json
但是,当我尝试使用Jquery来获取它时,它什么也不返回。我的HTML没有任何价值localhost:8000/test
我当前的html代码:
<html>
<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type=text/javascript>
$(document).ready(function(){
$.getJSON(
"http://localhost:8000/test",
{format: "json"})
.done(
function(data) {
var plot_id = data.result;
$("#retval").html( "<strong>" + plot_id + "</strong>" );
}
);
});
</script>
</head>
<body>
<div id="retval"></div>
</body>
</html>
但是,当我更改URL并尝试从另一个API获取数据时,请说https://jsonplaceholder.typicode.com/posts/1可以正常工作。
我尝试过以下解决方案:
.done()
使用.ajax
)callback=?
)python
命令代替gunicorn
但这仍然行不通,请有人帮我找出问题所在吗?
app.run(host='0.0.0.0', port=8000)
localhost:8000/test
在您的功能之间的转换方式getJSON
或ajax
不同。它有一个关于'access-control-allow-origin'的问题。在flask中,您可以使用flask-CORS软件包完成工作。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句