Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery.load与python_Jquery_Python_Html_Flask - Fatal编程技术网

jquery.load与python

jquery.load与python,jquery,python,html,flask,Jquery,Python,Html,Flask,我正在尝试使用jquery.load在我的flask应用程序中添加一个div,每次用户按下按钮添加一个新div,但它找不到html文件 所讨论的功能 $(document).ready(function(){ $("#add").click(function(){ $("#form").load('/templates/info.html'); }) }); info.html文件只包含html的一个短div部分 index.html代码

我正在尝试使用jquery.load在我的flask应用程序中添加一个div,每次用户按下按钮添加一个新div,但它找不到html文件

所讨论的功能

$(document).ready(function(){
        $("#add").click(function(){
            $("#form").load('/templates/info.html');
        })
});
info.html文件只包含html的一个短div部分

index.html代码,我想在表单后面加载info.html div

  <form id="form" action="{{ url_for('get_data') }}" method="post">
        <input type="button" name="add" value="Add" id="add">
        <input type="submit" id="submit" value="To XML">
    </form>
我正在本地运行flask应用程序,/template/info.html是正确的路径。我只是不知道为什么它没有加载到html中。当我使用jquery函数和.append()并将长html字符串放入append函数时,我可以使它工作,但是添加info.html会变得更长,我只想能够加载整个文件


任何帮助都将非常感谢。

您在flask应用程序中的视图定义应返回info.html。换句话说,您在烧瓶应用程序中应该有一个路由和方法,如下所示:

@app.route('/info')
def info(name):
    return render_template('info.html')

现在,您可以在jquery代码中加载url
/info
。默认情况下,Flask在templates文件夹中查找模板,因此无需明确指出URL中的templates只是一个文件夹。除非您明确要求,否则烧瓶不提供内容物。设置路由(
@route('/info')
或类似内容),呈现模板,并请求
/info
而不是该URL。但是jquery不会在模板文件夹中查找并加载html文件吗?文件夹用于文件系统。jQuery向Web服务器发送GET请求,并请求
/templates/info.html
上的资源。从这里开始,完全由Flask决定
/templates/info.html
的实际含义。它可以将URL反向发送回作为响应。Flask提供
/templates/
内容的方式与提供
/static/
内容的方式不同,这对您来说可能是一个更好的选择(尽管我建议改为创建一个实际呈现模板的路径,如下面的答案所示,并使用jQuery加载)。我编辑了我的问题,我想我理解您的意思,但我不知道这是否是我想要做的。然后把它放到
/static/
而不是
/templates/
中。它对我很有用!这正是我想要的。非常感谢!
127.0.0.1 - - [04/Mar/2014 19:55:50] "GET /templates/info.html HTTP/1.1" 404 -
@app.route('/info')
def info(name):
    return render_template('info.html')