当前位置: 首页 > 知识库问答 >
问题:

无法打印出从烧瓶后端发送的表单中的元素[重复]

封飞
2023-03-14

问题:我试图从React前端的表单发送数据,然后简单地从后端打印结果,尽管我总是得到一个空字符串。

Here is the axios call: 
formLogin = (e) => {
        e.preventDefault();
        axios
           .post('http://localhost:5000/post', {
               name: document.getElementById("name").value,
           })
           .then((res) => {
                console.log(res.data)
           });
        }
<div className="use

    rs-information">
                                <form onSubmit={this.formLogin} className="patient-form" id="patient-form" name="patient-form" method='POST' action='http://localhost:5000/post' >
    
                                    <input type="text" name="name" id="name" />
                                    
                                    <label>
                                        Address: 
                                        <input name="Address" id="users-address" />
                                    </label>
    
                                    <label>
                                        City: 
                                        <input name="City" id="users-city" />
                                    </label>
    
                                    <label>
                                        State: 
                                        <input name="State" id="users-state" />
                                    </label>
    
                                    <label >
                                        Zip: 
                                        <input name="Zip" id="users-zip" />
                                    </label>
    
                                    <input type='submit' value='Submit'/>     
                                 </form>
                            </div>
@app.route('/post',methods=['POST'])
def testPost():
    name = request.form.get("name","")
    print(name)
    return jsonify(name=name)

共有1个答案

凤柏
2023-03-14

片段:

axios
       .post('http://localhost:5000/post', {
           name: document.getElementById("name").value,
       })
       .then((res) => {
            console.log(res.data)
       });
    }

将对象作为JSON而不是form发布。因此,您应该使用:

@app.route('/post',methods=['POST'])
def testPost():
    # name = request.form.get("name","")     # remove this line
    name = request.json["name"]              # add this line
    print(name)
 类似资料:
  • 然后在main方法中,我尝试创建一个列表并打印出其中的元素。 没有语法错误,但当我尝试运行上面的代码时,终端不会返回任何内容。

  • 我有一个reactjs作为前端,flask服务器作为后端。我试图从注册表中发送数据(使用Formik)。当我做一个post请求时,我有一个错误500。我注意到当我使用postman时,一切都很好,flask在postgresql中创建了一个新记录。 前端 上,后端在 我现在应该做什么?

  • 我在用烧瓶做一个网站。它在top.html中使用sql显示一个列表,其中每个元素都是超文本。 所以我想知道从列表中点击了哪个超文本,这样我就可以在/text中加载它各自的内容。请同时提供python代码(flask代码)。

  • 我尝试使用axios对烧瓶服务器进行POST: 现在是烧瓶的部分 但是,我最终会出现以下错误: 无法加载XMLHttpRequesthttp://127.0.0.1:5000/test.对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow Origin”标头。起源'http://localhost:3000因此不允许访问。 为什么?我将按照建议设置标题

  • 使用烧瓶构建应用程序。该应用程序使用表结构来显示数据。它的部分功能是从用户指定的表行收集数据。为此,我在每一行上放置了一个按钮,执行一些js。js从行中收集信息,使用JSON. stringify()转换为json对象,并向相关的flask url发出post请求。 从js文件向浏览器控制台记录jsonize对象的值表明它是正确形成的。发布请求联系正确的路由,但是request.get_json(

  • 我基本上使用了install命令“$pip install Flask”,当我试图运行一个程序时,它会说“找不到模块”Flask安装在“/usr/local/lib/python2.7/site包”中,但我认为pip的意义在于,我可以到处导入这些包。我试图在我的桌面上运行一个文件,甚至当我将Flask文件夹移动到桌面上时,它也不起作用。有什么建议吗?谢谢