Javascript Python flask web应用程序赢得';无法获取用户输入
我希望通过点击网页上的HTML链接来处理python脚本。以下是我迄今为止处理点击的Javascript: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
<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>