使用ajax将输入数据从html发布到python脚本

2024-03-29 09:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用AJAX将用户输入的html文件中的数据发布到Python脚本中,并让Python脚本返回它,以便它显示在html文件中的特定div中。在

HTML格式

<!DOCTYPE HTML>
<html>
  <head>
    <title>AJAX Test</title>
    <script src="http://code.jquery.com/jquery-3.3.1.js"></script>
    <script>
        function test()
        {
            var message = $('input[name=message]').val();
            $.ajax({
                url: "/cgi-bin/hello.py",
                type: "POST",
                data: {"text" : message},
                success: function(response){
                        $("#div").html(response);
                }
            });
        };

    </script>
  </head>
  <body>
    <form>
    Enter Message: <input type="text" name="message">
    <input type="submit" value="submit" onclick="test()">
    </form>
    <div id="div">Default Message</div>

  </body>
</html>

Python

^{pr2}$

当我在输入框中输入一条消息并按下submit按钮时,什么都不会发生。我是新手,所以我觉得我可能不明白这是怎么回事。任何帮助都将不胜感激!在

编辑:控制台显示Uncaught TypeError: $.ajax is not a function

编辑2:第一个问题是由于使用了jquery的slim版本。修复后,当我输入并单击submit时,页面上没有任何变化。在


Tags: 文件div脚本messageinputtitlehtmltype
1条回答
网友
1楼 · 发布于 2024-03-29 09:29:42

问题是,当我单击按钮时,表单正在提交。解决方案是将输入类型改为<button value="Submit" onclick="test()">。在

下一个问题是python返回FieldStorage(None, None, [MiniFieldStorage('text', 'blahblah')])。解决方案是使用print (data["text"].value)访问该值

相关问题 更多 >