从httpget或pos获取变量的值

2024-10-03 02:43:50 发布

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

我有这个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获取页面的输入“name”的值,并将该值传递给python。我该怎么做

非常感谢


Tags: nameforminputhtmltypebodyaction页面
1条回答
网友
1楼 · 发布于 2024-10-03 02:43:50

您可以使用flask,一个Python webframework,并利用其内置功能从请求访问数据:

首先,创建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'

相关问题 更多 >