我使用Dancer模块获取数据:
deleteWidget
我的textbook.tt文件中有以下代码:
any [ 'ajax', 'get' ] => '/textbook' => sub {
set serializer => 'JSON';
@textbooks = [{id => '1', name => "text1"},{id => '1', name => "text1"}...];
return { 'text_list' => \@textbooks;
};
和js文件
$(function(){
<select id="textbook">
<option value="">Please Select</option>
</select>
});
但这不会在页面加载时自动加载条目。请帮忙
答案 0 :(得分:1)
我认为你的JS中存在一些错误。
错误#1:首先,您没有引用text_list,而是指未知元素&#39; aaData&#39;。
而不是:
$.each(data.aaData,function(i,data)
试试这个:
$.each(data.text_list, function(i, data)
错误#2:在迭代循环中,&#39;数据&#39;是数组中的hashref。因此,&#39; data.value&#39;和&#39; data.text&#39;不管用。你应该使用&#39; data.id&#39;和您在Dancer代码中指定的&#39; data.name&#39;。
而不是:
var div_data="<option value="+data.value+">"+data.text+"</option>";
试试这个:
var div_data="<option value="+data.id+">"+data.name+"</option>";
最后,为了便于阅读,建议更改数据&#39;在你们每个人之外的其他事情。
而不是:
success: function (data) {
...
$.each(data.text_list, function(i, data)
使用此:
success: function (response) {
...
$.each(response.text_list, function(i, data)
同样,我会考虑更改数据&#39;一些更具可读性的东西,例如教科书&#39;。
祝你好运,不要忘记&#34;接受&#34;如果我的答案适合你。