javascript - 在 Javascript 上发出 POST 请求时出现问题
问题描述
所以我正在开发一个Flask
使用Heroku
. 我需要发出POST
请求并从服务器接收响应。我设法让它与Python
脚本一起工作,但我需要将代码“翻译”Javascript
为,以便我可以在我的网站上正确使用它。该Flask
应用程序Python
:
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
发出POST
请求:Javascript
axios.post('https://textgenerator123.herokuapp.com/predict?', {
data: 'sample text'})
.then((response) => {
console.log(response);
}, (error) => {
console.log(error);
});
但控制台返回"Got None"。因此,Web 应用程序接收到请求,但由于Null
某种原因带有数据。我是新手,Javascript
如果有人试图帮助我,我将不胜感激。谢谢!
解决方案
网络呢?回应是什么?如果它在200,该帖子应该已经通过了。“没有得到”可能是来自发布响应正文的响应。我认为您应该检查开发工具中的网络请求以查看响应是什么。
推荐阅读
- html - CSS中的伪焦点不适用于所有对象
- reactjs - 错误是传播不可迭代实例的无效尝试。为了可迭代,非数组对象必须有一个 [Symbol.iterator]() 方法
- android - 如何更改TextInputLayout内edittext的边框颜色
- javascript - 如果时间少于所选时间,如何在议程周中更改颜色
- python - 在列表中搜索 - 是否有更有效的方法来编写此代码?
- javascript - IoT 设备上的 HTTPS 握手失败
- prometheus - 用普罗米修斯计算最大值
- node.js - NodeJS 中的图片上传
- ruby - jekyll 构建错误未知编码名称“chunked\r\n\r\n25”
- macos - 如何删除一直自行打开的mac应用