[英]AJAX request returning JSON, not working
我可能误解了JSON,但是为什么这段代码不起作用?
HTML
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body>
<div class="response">
Name: <span class="name"></span><br>
Password: <span class="password"></span><br>
</body>
</html>
MAIN.JS
$(document).ready(function(){
$.ajax({
type: "POST",
url: 'action.php',
dataType: 'json',
success: function(msg){
$.each(msg, function(index, value){
if (index == 'name') { $('.name').html(value.name); }
if (index == 'password') { $('.password').html(value.password); }
});
},
error: function(){
$('.response').html("An error occurred");
}
});
});
action.php的
<?php
$array = array(
0 => array(
'name' => "Charlie",
'password' => "none"
),
1 => array(
'name' => "Tree",
'password' => "tree"
)
);
echo json_encode($array);
?>
在您的JavaScript中, index
将为“ 0”和“ 1”,而不是“名称”和“值”:
success: function(msg){
$.each(msg, function(index, value){
$('.name').html(value.name);
$('.password').html(value.password);
});
},
当然,就目前情况而言,您将设置两次字段,只有最后一个字段会“粘贴”
如果您只想使用“查理”结果,那么
success: function(msg){
$('.name').html(msg[0].name);
$('.password').html(msg[0].password);
},
对于“树”,只需将数组下标更改为1
它应该是
if (index == 'name') { $('.name').html(value); }
if (index == 'password') { $('.password').html(value); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.