Javascript 数组的Foreach循环,通过AJAX查询获得
我有JS代码:Javascript 数组的Foreach循环,通过AJAX查询获得,javascript,ajax,foreach,iteration,Javascript,Ajax,Foreach,Iteration,我有JS代码: $("#select_bank").change(function () { selected_bank = $("#select_bank option:selected").text(); $.ajax({ type: 'POST', dataType: 'html', data: { selectedBank: selected_bank }, url: '<?= base_url() . 'atm/sel
$("#select_bank").change(function () {
selected_bank = $("#select_bank option:selected").text();
$.ajax({
type: 'POST',
dataType: 'html',
data: {
selectedBank: selected_bank
},
url: '<?= base_url() . 'atm/select_region'; ?>',
success: function (list_regions) {
foreach(keyVar in list_regions) {
alert(list_regions[keyVar]);
}
}
});
});
$(“#选择银行”)。更改(功能(){
选定的银行=$(“#选择银行选项:选定”).text();
$.ajax({
键入:“POST”,
数据类型:“html”,
数据:{
所选银行:所选银行
},
url:“”,
成功:功能(列出区域){
foreach(列表区域中的keyVar){
警报(列表_区域[keyVar]);
}
}
});
});
在回调“succes”时,我从服务器的脚本中获取数组-在警报中,我看到了“数组”-因此我想在客户端通过这个数组进行迭代,就像我上面编码的那样,但在执行此操作时,我在控制台中得到错误-“var keyVar未定义”。据我所知,我需要将list_regions
param键入数组或以其他方式修复它。求你了,如何让它变得更好?
谢谢
upd:试试这个:
$("#select_bank").change(function(){
// The following line was missing a var declaration,
// Making it an implicit global
var selected_bank = $("#select_bank option:selected").text();
$.ajax({
type:'POST',
dataType:'html',
data: { selectedBank: selected_bank },
url:'<?=base_url().'atm/select_region'; ?>',
success:function(list_regions){
var keyVar;
for(keyVar in list_regions) {
if (list_regions.hasOwnProperty(keyVar)) {
alert(list_regions[keyVar]);
}
}
}
});
});
$(“#选择#银行”)。更改(函数(){
//下一行缺少var声明,
//让它成为一个隐含的全球
var selected_bank=$(“#select_bank选项:selected”).text();
$.ajax({
类型:'POST',
数据类型:'html',
数据:{selectedBank:selected_bank},
url:“”,
成功:功能(列出区域){
var-keyVar;
for(列表_区域中的键变量){
if(列出地区。hasOwnProperty(keyVar)){
警报(列表_区域[keyVar]);
}
}
}
});
});
Javascript没有foreach
结构。使用$。jQuery的每个
方法如果我是对的,那么您不能以那种方式将foreach循环转换为jQuery
您应该使用.each来迭代这些值
$.each(list_regions, function(index, value) {
alert(value);
});
您可以找到更多信息。尝试将“foreach”改为“for”,Eugene正在尝试使用JavaScript构造,您立即告诉他jQuery解决方案。仅仅因为Eugene已经在使用jQuery并不是鼓吹他们忽视语言的内置结构的好理由。@Mythril,但是$。在这种情况下,each()
更有用。它到底有什么用处?请不要争辩。只是我想流式地使用纯JavaScript而不是Jquery来进行一些简单的操作,如果可能的话,可以用相当简单的方式)@danil,这两种都可以在a for中使用。在looop中,我似乎遇到了服务器脚本上的问题:我得到了带有字母“a”、“r”、“r”、“a”、“y”的警报序列而不是数组的值?我猜base_url()将返回一个PHP数组,该数组被转换为字符串“array”,然后在Javascript中逐字迭代。我已经更新了帖子,以显示我在JS脚本中得到的内容。但要做到这一点——我在Codeigner中做了一个肮脏的把戏,但我真的想避免这种糟糕的方式……谢谢你的建议,但它的工作原理正如我在第一次评论中提到的——“似乎我的服务器脚本有问题:我收到的警报序列是字母“A”、“r”、“r”、“A”、“y”,而不是数组的值?”