【问题标题】:Get the value of a variable from http get or post从 http get 或 post 获取变量的值
【发布时间】:2018-05-11 00:05:02
【问题描述】:

我有这个 html 页面:

  <head>
  <h1>Prueba TFG</h1>
  </head>

  <body>

      <form method="POST" action="">
            Introduce KeyWord <input type="text" name="key">
            <input type="submit" name="submit" value="Submit">
      </form>

  </body>

我想使用 JavaScript 获取页面输入“名称”的值,并将该值传递给 python。我该怎么做?

非常感谢!

【问题讨论】:

    标签: javascript python html http


    【解决方案1】:

    您可以使用 Python 网络框架 flask,并利用其内置功能从请求中访问数据:

    首先,创建您的 HTML 并将其存储在一个名为 user_input.html 的文件中:

    <html>
    <head>
     <h1>Prueba TFG</h1>
    </head>
     <body>
       <form method="POST" action="/">
            Introduce KeyWord <input type="text" name="key">
            <input type="submit" name="submit" value="Submit">
        </form>
      </body>
    </html>
    

    然后,使用flask 创建路由:

    import flask
    app = flask.Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST']):
    def home():
      if flask.request.method == 'POST':
         keyword = flask.request.form['key']
         #do something with keyword
         return "<p>You entered {}</p>".format(keyword)
      return flask.render_template('user_input.html')
    

    但是,要包含 javascript,您可以使用 ajaxjquery 将变量传递给脚本:

    <html>
     <head>
      <h1>Prueba TFG</h1>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
      </head>
      <body>
        Introduce KeyWord <input type="text" name="key" id='key'>
        <button type='button' class='enter'>Submit</button>
       <div id='result'></div>
      </body>
      <script>
       $('document').ready(function(){
          $('.enter').click(function(){
             var value = $('#key').val();
             $.ajax({
               url: "/get_keyword",
               type: "get",
               data: {keyword:value},
               success: function(response) {
               $("#result").html(response);
                   $('#result').html(response);
                },
               error: function(xhr) {
              }
           });
        });
       });
      </script>
    </html>
    

    在应用中:

    @app.route('/', methods=['GET', 'POST'])
    def home():
      return flask.render_template('user_input.html')
    
    @app.route('/get_keyword')
       value = flask.request.args.get('query')
       return 'received value'
    

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 2023-01-11
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      相关资源
      最近更新 更多