Javascript Python Flask:返回HTML内容

Javascript Python Flask:返回HTML内容,javascript,python,html,string,flask,Javascript,Python,Html,String,Flask,我正试图为自己的个人使用准备一个临时工具,我对后端开发一点经验都没有。所以我的方法可能是非传统的。尽管可能有更好的方法 考虑我的html文件中的以下代码段: <tr><td> <button id="socks.shirt.pants"> dummy text here </button> </td></tr> 我尝试了几种不同的方法来提取html内容。包括但不限于: request.html.tr.id, req

我正试图为自己的个人使用准备一个临时工具,我对后端开发一点经验都没有。所以我的方法可能是非传统的。尽管可能有更好的方法

考虑我的html文件中的以下代码段:

<tr><td>
    <button id="socks.shirt.pants"> dummy text here </button>
</td></tr>
我尝试了几种不同的方法来提取html内容。包括但不限于:

request.html.tr.id,
request.get_data(),
request.data(),
request.form,
我现在了解到request.form返回以表单形式提交的用户提供的信息,这对我来说不起作用,因为我要检索的信息将硬编码到html文件中,在允许此过程工作的任何标记下。(当前为tr->td->按钮)。 我相信其他方法要么不返回,要么返回空字符串


另外,我想知道除了Flask之外,是否还需要使用一些javascript代码?我希望这不是一个不切实际的期望去问这个问题!任何建议都会大有帮助

您可以将
ajax
jquery
一起使用:

在主
filename.py
中,包括这样一个路由,从前端的
json
响应访问参数。另外,提供一个将呈现HTML模板的路由:

@app.route('/recieve_data')
def get_id():
  the_id = flask.request.args.get('button_id')
  return "<p>Got it!</p>"

@app.route('/', methods=['GET', 'POST'])
def home():
  return flask.render_template('filename.html')
XXXXXXXXXX

@app.route('/recieve_data')
def get_id():
  the_id = flask.request.args.get('button_id')
  return "<p>Got it!</p>"

@app.route('/', methods=['GET', 'POST'])
def home():
  return flask.render_template('filename.html')
<html>
  <head>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  </head>
  <body>
    <tr><td>
     <button id="socks.shirt.pants" type='button'> dummy text here</button>
     <div id='response'></div>
    </td></tr>
  </body>
  <script>
   $(document).ready(function() {
      $("button").click(function(event){
         var the_id = event.target.id;
         $.ajax({
            url: "/recieve_data",
            type: "get",
            data: {button_id: the_id},
           success: function(response) {
           $("#response").html(response);
         },
          error: function(xhr) {
        //Do Something to handle error
        }
       });
     });
   });
  </script>
</html>