【问题标题】:Python Flask ajax POST 400 BAD REQUESTPython Flask ajax POST 400 BAD REQUEST
【发布时间】:2021-04-08 17:25:51
【问题描述】:

我正在尝试使用 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))

【问题讨论】:

    标签: python ajax flask request


    【解决方案1】:

    添加 JSON.stringify() 有效! data: JSON.stringify($('#translationForm').serialize())

    【讨论】:

      【解决方案2】:

      可能是请求内容类型中的拼写错误?

      contentType: "application/j-son;charset=UTF-8",
      

      contentType: "application/json",
      

      【讨论】:

      • 谢谢,但没有骰子
      • 请求和响应是什么样的?您是否在浏览器网络监视器和服务器日志中看到它们?是 JSON 发布还是表单数据?使用一些可运行的服务器代码进行调试会更容易。
      • .sterilize() 是否将表单数据转换为 json?我对此很陌生,所以我没有服务器日志
      • 我在表单中输入的单词没有像他们应该的那样显示在 url 中
      • 问题似乎出在这一行tran = request.get_json(force=True)tran = 'whatever' 替换后它起作用了
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      • 2019-10-22
      相关资源
      最近更新 更多