python - Python Flask ajax POST 400 BAD REQUEST
问题描述
我正在尝试使用 ajax 将数据从表单发送到 Python Flask。我不希望页面重新加载。当我尝试发送表单时出现错误
POST http://127.0.0.1:5000/addTran 400 (BAD REQUEST)
我只想输入一个带有英文翻译的俄语单词,然后将其从烧瓶中写入文件。这是我的 html 和 JavaScript
<form id="translationForm">
<label for="russianWord">Russian Word:</label><br>
<input type="text" id="russianWord" serialize-as="russianWord" name="russianWord"><br>
<label for="englishWord">English word:</label><br>
<input type="text" id="englishWord" serialize-as="englishWord" name="englishWord">
<input type="submit" value="Submit">
</form>
<script>
$(function () {
$('#translationForm').on('submit',function (e) {
$.ajax({
type: 'POST',
url: "{{url_for('addTran')}}",
data: $('#translationForm').serialize(),
contentType: "application/j-son;charset=UTF-8",
dataType: "json",
success: function () {
alert("It worked!");
}
});
e.preventDefault();
});
});
这是我的 Python 路线
@app.route('/addTran',methods=["POST"])
def addTran():
if request.method == "POST":
tran = request.get_json(force=True)
with open('/home/matt/Desktop/info.txt','w') as w:
w.write(str(tran))
解决方案
添加 JSON.stringify() 有效!
data: JSON.stringify($('#translationForm').serialize())
推荐阅读
- html - 从 api 数据创建 FormArray
- javascript - 根据每个级别的键搜索整个 JSON 树
- reactjs - ReactJS Material UI如何防止Autocomplete改变值
- flutter - Flutter 通过索引获取 json 数据
- javascript - 剑道 UI 网格项目创建函数未被调用
- php - 如何添加自定义复选框以选择 woocommerce 结帐页面上的所有复选框到 woocommerce_review_order_before_submit?
- meshlab - CMD Line 或 MSI 安装 - Meshlab
- powershell - 如何在文本中选择一些匹配的行并附加到powershell中的变量?
- c# - 无法使用 asp.net 身份和 MySql 提供程序将自定义应用程序用户字段保存到数据库
- body-parser - 在正文解析器中使用扩展真?