Iterating thru an array using javascript for
本问题已经有最佳答案,请猛点这里访问。
如何在jquery中使用"for"迭代类似这样的数组。这一次我完全迷路了。我不知道如何从这样的数组中获取这些值,也无法更改数组的完成方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //Php $errors['success'] = false; $errors['#errOne'] ="Enter a valid username"; $errors['#errTwo'] ="Enter a valid email"; $errors['#errThree'] ="Enter a valid password"; echo json_encode($errors);// dataType:"json", cache:false, success: function(data){ for (i=1; i<?; i++){//Start at 1 //I'm totally lost here. //Output:"#errOne""Enter a valid username" ->Loop thru remaining messages } }, |
可能你需要这个:
1 2 3 4 5 | success: function(data){ $.each(data, function(key, value) { alert(key + ': ' + value); }); } |
因为您将数据作为参数传递,所以可以访问数据
尝试如下操作:
1 2 3 4 5 6 7 8 9 10 | var $errors = {}; $errors['success'] = false; $errors['#errOne'] ="Enter a valid username"; $errors['#errTwo'] ="Enter a valid email"; $errors['#errThree'] ="Enter a valid password"; data : $errors; success: function(data){ for (var i in data ){ console.log(i + ':' + data[i]); } |
如果您的PHP代码如下:
1 2 3 4 5 6 7 8 9 | // Use $errors = array(...) if your PHP version is < 5.4 $errors = [ 'success' => false, // Why is 'success' part of the $errors array? 'error_1' => 'Enter a valid username.', 'error_2' => 'Enter a valid email.', 'error_3' => 'Enter a valid password.' ]; print json_encode($errors); |
,然后在JavaScript中,可以执行以下操作:
4我很肯定这是最好的方法之一。如果我错了,请有人纠正我。
1 2 3 4 | for (var key in data){ alert(key); // gives keys success, #errOne, #errTwo, #errThree alert(data[key]); // gives values false, Enter a valid username, Enter a valid email, Enter a valid password } |