Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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 Python flask web应用程序赢得';无法获取用户输入_Javascript_Python_Html_Flask - Fatal编程技术网

Javascript Python flask web应用程序赢得';无法获取用户输入

Javascript Python flask web应用程序赢得';无法获取用户输入,javascript,python,html,flask,Javascript,Python,Html,Flask,我希望通过点击网页上的HTML链接来处理python脚本。以下是我迄今为止处理点击的Javascript: <script type="text/javascript"> var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};</script> <script type="text/javascript"> $(function() { var submit_form

我希望通过点击网页上的HTML链接来处理python脚本。以下是我迄今为止处理点击的Javascript:

<script type="text/javascript">
    var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};</script>
<script type="text/javascript">
    $(function() {
        var submit_form = function(e) {
            $.getJSON($SCRIPT_ROOT + '/_add_numbers', {
                a: $('input[name="a"]').val(),
                b: $('input[name="b"]').val()
            }, function(data) {
                $('#result').text(data.result);
                $('input[name=a]').focus().select();
            });
            return false;
        };
        $('a#calculate').bind('click', submit_form);

        $('input[name=a]').focus();
    });
</script>
HTML代码不喜欢行
var$SCRIPT_ROOT={{request.SCRIPT_ROOT | tojson | safe}},
,因为它在花括号中返回了一个错误。当我用我的应用程序的根URL替换它时,我似乎无法用python脚本的结果实际更新我的网页。有什么建议吗


我使用Cloud9作为我的IDE,它承载着Apache。我对Javascript和Flask都很陌生,我真的很想把这个基本的应用下载下来,这样我就可以继续学习了

然而,它应该可以工作,但为了简单起见,您可以完全删除它,flask将它作为相对路径解析。更改index.html,它就会工作

提示:请确保将index.html放在“templates”目录下,并在终端或命令提示符“pythonsite.py”中运行它

index.html:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        var submit_form = function(e) {
            $.getJSON('/_add_numbers', {
                a: $('input[name="a"]').val(),
                b: $('input[name="b"]').val()
            }, function(data) {
                $('#result').text(data.result);
                $('input[name=a]').focus().select();
            });
            return false;
        };
        $('a#calculate').bind('click', submit_form);

        $('input[name=a]').focus();
    });
</script>
<input name="a" />
<input name="b" />
<a href="#" id="calculate">calculate</a>
<div id="result"></div>

$(函数(){
var提交形式=功能(e){
$.getJSON(“/”添加数字“{
a:$('input[name=“a”]”)。val(),
b:$('input[name=“b”]”)。val()
},函数(数据){
$('#result').text(data.result);
$('input[name=a]')。焦点()。选择();
});
返回false;
};
$('a#calculate')。绑定('click',提交表单);
$('input[name=a]')。focus();
});

所以您告诉
{{request.script|u root | tojson | safe}这会导致问题吗?您的JavaScript代码是在JavaScript文件中还是在Jinja模板中?静态文件中的文件按原样提供。您需要在模板中定义
$SCRIPT\u ROOT
main_dir
    |--site.py
    |--templates
             |--index.html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type="text/javascript">
    $(function() {
        var submit_form = function(e) {
            $.getJSON('/_add_numbers', {
                a: $('input[name="a"]').val(),
                b: $('input[name="b"]').val()
            }, function(data) {
                $('#result').text(data.result);
                $('input[name=a]').focus().select();
            });
            return false;
        };
        $('a#calculate').bind('click', submit_form);

        $('input[name=a]').focus();
    });
</script>
<input name="a" />
<input name="b" />
<a href="#" id="calculate">calculate</a>
<div id="result"></div>