Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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
Javascript不更新会话,只有重新加载页面才能完成任务_Javascript_Python_Flask - Fatal编程技术网

Javascript不更新会话,只有重新加载页面才能完成任务

Javascript不更新会话,只有重新加载页面才能完成任务,javascript,python,flask,Javascript,Python,Flask,会话是在python代码中设置的。我使用烧瓶作为框架。会话用户名值保持不变,直到用户重新加载页面。是否有一种方法可以使用javascript响应会话值的更改,或者在不重新加载整个页面的情况下重新加载必要的部分?谢谢 index.html: <div id="cform"> <form action="" method="get"> <div class="cl">{{ session['username'] }}$ >

会话是在python代码中设置的。我使用烧瓶作为框架。会话用户名值保持不变,直到用户重新加载页面。是否有一种方法可以使用javascript响应会话值的更改,或者在不重新加载整个页面的情况下重新加载必要的部分?谢谢

index.html:

<div id="cform">
    <form action="" method="get">
        <div class="cl">{{ session['username'] }}$ >
            <input type="text" class="cli" name="cmd"
            autocomplete='off' value="" autofocus />
        </div>
    </form>
</div>
<script type=text/javascript>
    $(function () {
        $('form').last().submit(function () {
            $.getJSON($SCRIPT_ROOT + '/_cmd', {
                cmd: $('input[name="cmd"]').last().val()
            }, function (data) {
                var $query = $('input[name="cmd"]').last().val();
                $("<span>{{ session['username'] }}$ > " + $query + "</span><br />").appendTo("#output");
                $(data).each(function (i, val) {
                    $.each(val, function (k, v) {
                        $("<span>" + v + "</span><br />").appendTo("#output");
                    });
                });
                $("#output").append($("form"));
                $("form input").val("").focus();
            });
            return false;
        });
    });
</script>
<div id="output"></div>

我不知道烧瓶的事,但我觉得你在那里犯了一个错误:

 $("<span>{{ session['username'] }}$ > " + $query + "</span><br />").appendTo("#output");
 $("<span>{{ session['username'] }}$ > " + $query + "</span><br />").appendTo("#output");
  $("<span>"+data[username] + $query + "</span><br />").appendTo("#output");
  def cmd:
    ...
    output[username] = session["username"]
    ...