鉴于我的html文件,控制台会给出错误代码:
参考错误:未定义loadData。
根据其他答案,我已经重新检查了我的位置,
</body>
,<head></head>
; <input type= submit
更改为<input type= button
以下是现在的情况:
<head>
<script src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
{%for document in documents %}
<li> {{document.filename}}
<input type="button" id="{{ document.id }}" onclick="loadData(this.id)" name = "load-data" value="Add to Layer"/>
</li>
{%endfor%}
<script type ="text/javascript">
function loadData(documentId){
$.ajax({
url:"/load",
data: {'documentId': documentId},
type: 'GET',
success: function(){
window.location.href = "http://127.0.0.1:8000/url/locations";
}
});
}
</script>
</body>
我似乎无法找到解释为什么该功能不会被解雇的原因。
答案 0 :(得分:2)
这是修复(正如我朋友解释的那样):
我必须将我的脚本放在<head>
标签中。
为什么? 因为文档已在脚本生成之前加载。
如果我想将它保留在底部,它必须看起来像这样:
$(document).ready(
$('input').onclick(function(){})
提出后,代码可以运行。
答案 1 :(得分:0)
我已经测试了你的HTML,一切似乎都正常工作。我发现的唯一错误是$ ajax不是一个函数。它缺少一个点$ ajax =&gt; $就
尝试使用:
function loadData(documentId){
$.ajax({
url:"/load",
data: {'documentId': documentId},
type: 'GET',
success: function(){
window.location.href = "http://127.0.0.1:8000/url/locations";
}
});
}