当前位置: 首页 > 面试题库 >

通过表单在Flask上发布数据给出了400错误请求

章稳
2023-03-14
问题内容

我正在尝试通过前端发布数据,而烧瓶应用程序抛出了400个错误的请求。但是,如果我使用Curl call做同样的事情,它似乎工作正常。我不知道表格中缺少什么。

以下是我的表单代码

<script>
function sub() {
    console.log('sub function');
    $("#fquery").submit();
}
</script>
<form id="form1" action="/final" method="post">
 <input id='query' type="text">
  <button type="submit" onClick='sub()'>Submit &raquo;</button>
</form>

在服务器端:

@app.route('/final',methods=['POST','GET'])
def message():
    if request.method == 'POST':
        app.logger.debug(" entered message function"+ request.form['query'])
        q = request.form['query']
    return render_template('final.html',query=q,result="Core_Table Output")

服务器端对我来说似乎很好。由于我收到卷曲请求的响应

curl http://localhost:8000/final -d "query=select starct st blah blah" -X POST -v
*   Trying 127.0.0.1... connected
> POST /gc HTTP/1.1
> User-Agent: curl/7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: localhost:8000
> Accept: */*
> Content-Length: 41
> Content-Type: application/x-www-form-urlencoded
> 
* upload completely sent off: 41out of 41 bytes
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 1961
< Server: Werkzeug/0.9.4 Python/2.7.3
< Date: Thu, 24 Oct 2013 23:33:12 GMT

问题答案:

嗯,我想我明白了:您只为元素设置,id但未设置。仍用于发送到服务器的表单数据中。这导致在这导致400错误。name``input``name``KeyError``request.form['query']



 类似资料:
  • 我正在为一个项目使用Hackerrank API。查看官方文档,点击这里! 在他们的网站上有一个使用UNIREST的例子, 由于我使用的是axios,所以我将其转换为类似的axios代码,如下所示: 我希望这只适用于示例中所示的示例,但它给我带来了以下错误: 请求失败,状态代码为400 错误:请求失败,状态代码为400 在createError(createError.js:16) 在sett(s

  • 我正在尝试使用以下凭据登录此网站(不用担心,它是匿名的): 用户='MattieBailey@mailinator.com'密码='thx9jD3SkrssPKY' 当我手动登录时,我看到Chrome inspector视图中有一个POST请求和一个GET请求。 然而,当我试图用python模拟这些请求时,我得到了400个POST请求的坏请求。GET请求返回200-OK,并向我发送登录网页的内容。

  • 我试图创建一个请求python脚本,将添加到购物车,并最终结帐。我发了一个帖子请求(https://yeezysupply.com/cart/add.js)这是我在网络chrome开发者工具页面中找到的添加到购物车的endpoint。它有一个包含3个字典的json负载。Id是产品的变体Id,我不知道它是什么,所以我把它留空了,还有数量。当我执行Post请求时,我将数据作为参数输入。我收到一个400

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 我正在RestTemplate中使用exchange for GET方法。但是在exchange方法中传递requestEntity时,我得到了400个错误的请求。下面是我正在使用的代码。 生成URL: 我尝试从postman访问producer URL,其标题为Content-Type:Application/JSON,正文为{“firstName”:“a”,“lastName”:“b”,“da