我只是从AJAX开始,尝试使用JQuery的$.getJSON函数(或任何相关的,即$.load()、$.ajax()等)。我有一个具有如下结构的JSON文件:
[
{
"id": 1,
"email": "user@domain.com",
"password": "password"
},
{
"id": 2,
"email": "one@two.com",
"password": "password"
}
]对于具有特定电子邮件的用户,我如何在这个JSON文件上调用GET (让我们称之为users.json)?我以为这将是$.getJSON的第二个参数,但这似乎只是返回整棵树。
谢谢!
发布于 2013-09-24 15:26:43
一旦解析了JSON,就将其传递给回调函数--然后您可以根据需要操作该数组。
您可能需要一些自定义代码:
$.getJSON(myURL, function(data) {
/* data is an array of objects */
for (var i=0, j=data.length; i<j; i++) {
if (data[i].email === some_value) {
/* do something with data[i] */
};
};
});发布于 2013-09-24 15:30:04
您可以在客户端循环遍历数组,或者在每次调用中动态生成users.json (假设后端服务器语言为php)。
使用动态生成的json文件
JS
$.ajax({
url:"/users.json.php",
data:{
useremail:"someusersemail@here.com"
}
type:"POST",
dataType:"json",
success:function(userdata){
//users data will be in userdata
console.log(userdata.email);
}
})服务器脚本(假设PHP):users.json.php
$email = $_POST['useremail'];
//get user data based on email
...
echo json_encode($userdata);
die;生成的json文件最终应该输出类似于
{"id": 1,"email": "user@domain.com","password": "password"}循环方法:通过客户端上的用户数组循环
$.ajax({
url:"/users.json",
dataType:"json",
success:function(data){
for(i=0;i<data.length;i++) {
var user = data[i];
if(user.email == "someemail@gmail.com") {
//do what you need to with user data
}
}
}
})https://stackoverflow.com/questions/18985656
复制相似问题