近日在工作当中,碰到一个问题。具体如下:
功能需求:
在一个页面上有一个表单,这个表单里有一两个下拉框,和一个文本输入框
在下面有一个表格用来显示数据。想实现的功能是,当用户在上面进行了选择与输入后,可通过点击查询按钮,去查询与用户所选择和输入的内容相关的数据,结果在下面的表格当中显示出来。
碰到的问题:
由于要给用户比较好的体验,所以打算使用AJAX方式将查询到的内容直接在当前页面的表格上显示出来,而不是刷新整个页面。AJAX使用DWR框架,现在我已经做到将数据从后台查询出来了。但是在将数据写入到当前表格时碰到问题,不知道如何去写。
相关情况:
后台的数据返回的一个对象集合,每个对象又包含多个其它对象的引用如:
Class A {
String name;
City city; //City是一个单独的类,它也有自己的一些字段
Brand brand; //Brand 同理也有是一个单独的类,也有自己的一些字段
.......
}
现在后台返回的是一个List 这个List当中是一个一个的A对象。现在我想在前台页面上将DWR返回的这个集合把对象A一个一个读取出来,而且要将对象A当中的包含的city,brand
对象的字段也读取出来,即想像java里那样通过这样A.city.name A.brand.name 将我需要的字段读取出来。
现在的问题是:
我如何去读取??然后如何将读取到的内容写到表格里?由于我的表格具有很多的样式,我不可能将所有的HTML代码都使用javascript来组合吧?
我自己也写了一些方法可以取出集合里的对象里的属性,但是我感觉效率不高,而且极其麻烦。
代码如下:
/查询返回处理函数
function productCallBack(productList) {
var code;
var model;
var brand;
var city;
var province;
var type;
var color;
//循环集合,得到box
for(var property in productList){
//循环box,判断字段
for(var pro in productList[property]){
//如果字段为productInfo则进一步循环productInfo
if(pro == "productInfo"){
for(var pro3 in productList[property][pro]) {
if(pro3 == "code") {
code = productList[property][pro][pro3];
}else if(pro3 =="type") {
for(var pro4 in productList[property][pro][pro3]) {
if(pro4 == "name") {
type = productList[property][pro][pro3][pro4];
}
}
}else if(pro3 == "model") {
model = productList[property][pro][pro3];
//如果字段为brand,则再一步循环brand,已便得出brand下的所有字段
}else if(pro3 == "brand") {
for(var pro4 in productList[property][pro][pro3]) {
if(pro4 == "name") {
brand = productList[property][pro][pro3][pro4];
}
}
}else if(pro3 == "color") {
for(var pro4 in productList[property][pro][pro3]) {
if(pro4 == "name") {
color = productList[property][pro][pro3][pro4];
}
}
}
}
}
}
}
alert(code);
alert(type);
alert(model);
alert(brand);
alert(color);
}
分享到:
相关推荐
**Ajax技术详解与实战——实现页面无刷新登录** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的核心是JavaScript对象XMLHttpRequest,通过这个对象...
服务器接收到请求后处理数据,然后将结果返回给客户端,JavaScript 再将这些数据显示在页面上。 ### 2. Ajax 请求流程 - **创建 XMLHttpRequest 对象**:这是 Ajax 的核心,用于与服务器进行通信。 - **打开连接**...
在本示例中,我们关注的是如何利用Ajax的Timer组件来动态显示当前时间,而无需刷新页面。这种方式极大地提升了用户体验,因为用户可以持续查看其他页面内容,而时间显示始终保持最新。 1. **Ajax Timer组件**: ...
同时,我们还可以使用DOM操作将查询结果显示在页面上,提升用户体验。 此外,需要注意的是,由于跨域限制,直接使用WhoIs查询可能需要后端代理。后端服务器可以处理跨域问题,并将查询结果返回给前端。这样,前端只...
在本程序中,“Ajax快速显示搜索结果”实现了用户在搜索框输入内容时,即时获取并展示搜索结果的功能。 **程序结构与工作原理** 1. **前端界面**:`index.php`是主页面,通常包含一个搜索框和一个用于显示搜索结果...
返回的数据以XML或其他格式封装,再由JavaScript解析并更新页面上的列表框,显示查询结果。 【实现步骤】实现基于Ajax的JSP模糊查询,主要涉及以下步骤: 1. 设计用户界面,包括输入框和列表框。 2. 编写JavaScript...
5. Ajax接收到响应后,解析数据并使用JavaScript更新页面上的表格,显示查询结果。 6. 页面保持原样,只有查询结果部分发生变化,实现了无刷新查询。 总结来说,这个项目展示了如何结合使用Ajax、Servlet、...
在HTML页面中,我们有一个输入框供用户输入查询关键词,以及一个下拉框来显示查询结果。我们使用jQuery库来简化Ajax操作: ```html <!DOCTYPE html> ...
5. **显示结果**:更新页面上的数据展示,同时更新页码指示器。 #### 关键代码解析 在给定的部分内容中,我们可以看到一系列用于控制分页的变量和函数定义。例如,`CurPage`表示当前页数,`TotalPage`存储总页数,...
在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击该按钮产生多个并发Ajax请求);调用完成后,图片消失...
4. **使用Ajax获取数据**:父页面通过Ajax向服务器发送请求,获取所需数据,然后可以将数据存储在上述的SessionStorage或LocalStorage中,或者嵌入到HTML结构(如隐藏元素)中,供子页面加载后使用。例如: ```...
在网页设计中,选项卡是一种常见的用户界面元素,它允许用户在多个相关的视图或内容之间切换,而无需离开当前页面。"选项卡,页面使用ajax调用"这个主题涉及了如何利用AJAX(Asynchronous JavaScript and XML)技术...
综上所述,“AJAX下调出弹出框”涉及到的技术点包括AJAX的工作机制、弹出框的实现方式以及在AJAX中调用弹出框的具体方法。开发者应根据实际需求选择合适的方法,同时注重用户体验和性能优化,以提升网页应用的质量。
在本例中,我们需要使用地图API的定位服务,将从服务器获取的GPS坐标转换为地图上的点,并在地图上动态更新这个点,以显示用户的实时位置。 具体步骤如下: 1. **初始化地图**:在`location.html`文件中,先引入...
页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制页面显示JS,AJAX控制...
当用户在搜索结果中进行分页时,可以同时使用模糊查询的关键词来过滤分页的内容。这样,用户不仅可以快速浏览大量数据,还可以在任何分页上进行精准的模糊搜索。 五、优化与注意事项 1. 异步请求时,需考虑用户体验...
5. 前端展示:接收到JSON响应后,前端使用JavaScript和jQuery动态更新页面上的数据显示区,展示查询结果。可以使用模板引擎(如Mustache或Handlebars)来渲染数据,使展示更加灵活。 6. 特殊格式的查询:如果描述中...
4. 将处理后的搜索结果显示在页面上,高亮部分会根据预定义的样式突出显示。 ### 3. 结合Ajax和高亮显示的实现 将Ajax分页和搜索结果高亮结合起来,可以创建一个高效、交互性强的搜索系统。当用户切换页码时,通过...
"使用Ajax动态删除数据前台直接显示结果"这一技术就是为了提升用户体验而设计的。Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),允许我们在不重新加载整个网页的情况下与服务器交换数据并局部...
当前端发送Ajax请求时,后端接收到请求后,执行相应的业务逻辑,如数据库操作,然后将结果以JSON、XML或其他格式响应给前端。 例如,使用Spring MVC处理Ajax请求: ```java @RequestMapping(value = "/ajaxRequest...