打开包含 JSON 数据的新页面,而无需刷新页面
open new page with json data without refreshing page
嗨,我
有一个用户json,我从中获取数据并填充了用户列表..现在这是调整 当用户单击此列表od user时,页面(屏幕2)在同一窗口中打开,没有页面刷新或重定向,其中包含该特定用户的所有信息以及他的详细信息以json形式存在。
{
"data": {
"show_dashboard_access_page": false,
"login_status": "signedin",
"new_io": true,
"bst_users": [{
"userA": {
"user_logo": "image path",
"partner_since": "Jan 2013",
"status_now": "bronze",
"year_calculated": 2016,
"total": 300000,
"year_wise_usage": 123000,
"storage_wise_usage": 73000,
"server_wise_usage": 50000,
"order": 1
},
"userB": {
"user_logo": "image path",
"partner_since": "Feb 2014",
"status_now": "silver",
"year_calculated": 2016,
"total": 300000,
"year_wise_usage": 160000,
"storage_wise_usage": 60000,
"server_wise_usage": 100000,
"order": 2
},
"userC": {
"user_logo": "image path",
"partner_since": "Mar 2014",
"status_now": "silver",
"year_calculated": 2016,
"total": 300000,
"year_wise_usage": 180000,
"storage_wise_usage": 80000,
"server_wise_usage": 100000,
"order": 3
}
}]
},
"success": true
}
代码直到在屏幕 1 上获取用户列表:
$.getJSON( "jsonpath", function( response ) {
$.each(response.data.bst_users, function(idx,obj){
$.each(obj, function(key, value){
console.log(key + ": " + value);
var item = "<li> <a href=''> <small> <img src='" + value["user_logo"] + "' alt=''/></small>" + "<span>" + key + "</span>" + "</a> </li>"
$('ul').append(item);
});
});
});
这里有一个例子来说明我的意思:
<!doctype html>
<html ng-app="app">
<head>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ng-controller="UsersController">
<div id="users">
<div ng-repeat="user in users">
<a href ng-click="go(user.id)">{{user.name}}</a>
</div>
</div>
<div id="user">
<div>{{current.name}}</div>
<div>{{current.age}}</div>
<a href ng-click="back()">back</a>
</div>
</div>
</body>
</html>
JavaScript 文件; app.js:
(function(){
var app = angular.module("app", []);
users = [
{"id": 1, "name": "Palle", "age": "48"},
{"id": 2, "name": "Peter", "age": "11"}
];
app.controller("UsersController", ["$scope", "$http", function($scope, $http) {
$("#user").hide();
$scope.users = users;
$scope.go = function(id) {
console.log(id);
$("#users").hide();
$("#user").show();
$scope.current = $scope.users.find(function(element) {
return element.id === id;
});
};
$scope.back = function() {
$("#user").hide();
$("#users").show();
};
}]);
}());
考虑使用 AngularJS。它非常适合这种事情。在链接的控制器中,只需将主div 替换为包含单个用户信息的div。您应该考虑使用两种不同的提要;一个用于用户列表,一个用于单个用户。
相关文章:
- 在检查单选按钮的值是否正确后,如何将其带到新页面
- 如何使用javascript刷新父页面并关闭子窗口
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- 在Phonegap中重定向到新页面后,AdMob未定义
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- javascript:发送带有音频文件的POST,然后重定向到新页面
- 关闭弹出窗口并刷新父页面
- 在onclick上动态创建新页面
- 关闭弹出窗口并刷新父页面javascript
- 如何将缩略图链接到新页面上的视频
- 如何在提交后关闭颜色框窗口,并刷新父页面上的图像
- Javascript:在新页面中打开链接并运行脚本
- 视频暂停超过1分钟后重定向到新页面
- 上载图像并重定向到新页面而不刷新
- 打开包含 JSON 数据的新页面,而无需刷新页面
- 不要在新页面加载或刷新时渲染React组件
- 单击相同的按钮刷新当前页面并导航到新页面
- 如何防止在sockjs的每一个页面刷新新的连接
- 在选择标签中添加新项并使用jquery刷新它,而无需刷新整个页面
- 确定浏览器的关闭按钮单击,刷新并进入新页面