【发布时间】:2021-09-06 13:04:30
【问题描述】:
所以我正在开发一个使用Flask 开发并部署在Heroku 上的网络应用程序。我需要发出POST 请求并接收来自服务器的响应。我设法让它与Python 脚本一起工作,但我需要将代码“翻译” 到Javascript,以便我可以在我的网站上正确使用它。
Python 上的 Flask 应用程序:
app = Flask(__name__)
CORS(app, support_credentials=True)
@app.route('/')
def index():
return "Index Page"
@app.route('/predict',methods=['GET','POST'])
def predict():
data = request.form.get('data')
if data == None:
return 'Got None'
else:
# model.predict.predict returns a dictionary
prediction = makePrediction(data)
return json.dumps(str(prediction))
if __name__ == "__main__":
app.run(host='0.0.0.0',debug=True)
正在工作的Python 代码发出POST 请求:
def main():
PARAMS = {'data':'sample text'}
response = requests.post(url='https://textgenerator123.herokuapp.com/predict?', data=PARAMS)
print(response.text)
if __name__ == "__main__":
main()
我尝试使用Axios 使用以下代码通过Javascript 发出POST 请求:
axios.post('https://textgenerator123.herokuapp.com/predict?', {
data: 'sample text'})
.then((response) => {
console.log(response);
}, (error) => {
console.log(error);
});
但控制台返回 “Got None”。所以网络应用程序接收到请求,但由于某种原因,数据为Null。我是Javascript 的新手,如果有人试图帮助我,我将不胜感激。谢谢!
【问题讨论】:
标签: javascript flask heroku post axios