烧瓶形式和JavaScript

时间:2012-07-19 14:59:27

标签: javascript python html get flask

你好我有下面的html代码

<form>
<input type="text" id="filepathz" size="40" placeholder="Spot your project files">
<input type="button" id="spotButton" value="Spot">
</form>

javascript代码

  window.onload = init;

  function init() {
          var button = document.getElementById("spotButton");
          button.onclick = handleButtonClick;
  }       

  function handleButtonClick(e) {
          var filepathz = document.getElementById("filepathz");

         var path = filepathz.value;

         if (path == "") {
                 alert("give a filepath");
         }else{
                 var url = "http://localhost:5000/tx/checkme/filepathz=" + path;
                 window.open (url,'_self',false);
         }       
 } 

和烧瓶上的python代码

def index():
        """Load start page where you select your project folder
        or load history projects from local db"""
        from txclib import get_version
        txc_version = get_version()
        prj = project.Project(path_to_tx)

        # Let's create a resource list from our config file
        res_list = []
        prev_proj = ''
        for idx, res in enumerate(prj.get_resource_list()):
                hostname = prj.get_resource_host(res)
        username, password = prj.getset_host_credentials(hostname)
        return render_template('init.html', txc_version=txc_version, username=username)

    @app.route('/tx/checkme/<filepathz>')
    def checkme(filepathz):
            filepathz = request.args.get('filepathz')
            return render_template('init.html', txc_version=filepathz)

我做错了什么,无法从表格中获取数据(filepathz)&lt; ---我得到无

1 个答案:

答案 0 :(得分:3)

您没有正确传递变量。传递变量有两种方法:

1)通过get方法传递它:

http://localhost:5000/tx/checkme/?filepathz=" + path; (Note the '?')

目前,您正在尝试从request.args获取变量,但未在请求中传递该变量,这就是您没有得到的变量。

2)从带有url url结构的url获取它:

在JS中执行此操作:http://localhost:5000/tx/checkme/" + path

在你看来:

@app.route('/tx/checkme/<filepathz>')
def checkme(filepathz):
      return render_template('init.html', txc_version=filepathz) # You can use this variable directly since you got it as a function arguement.