ajax获取的数据在js里拼接好还是在后台拼接好,ajax获取数据,应该返回json用js拼接 还是在后台拼接HTML完再返回...

匿名用户

1级

2013-03-06 回答

一般都是后台直接拼接好JSON格式返回,页面解析。

给你看个例子:

pageEncoding="GB18030"%>

四级联动下拉列表选中值保持不变

div #tip {

font:consolas normal 20px;

color:blue;

}

$(function() {

$("#province").change(function() {

if ($("#province").val() == '0') {

$("#city").html('');

$("#county").html('');

$("#town").html('');

return;

}

$("#tip").append("请求Ajax获取城市...");

$.get("ajax.do",

{type:'1',

value:$("#province").val(),

time:new Date()

},function(data) {

$("#tip").append(""+$("#province").val()+"下城市信息获取成功");

$("#city").html('请选择一个市');

var pros = eval(data);

for (var i=0;i

var cityName = pros[i].name;

var cityValue = pros[i].value;

var opt = $(""+cityName+"");

$("#city").append(opt);

}

});

});

$("#city").change(function() {

$("#tip").append("请求Ajax获取县...");

if ($("#city").val() == '0') {

$("#county").html('');

$("#town").html('');

return;

}

$.get("ajax.do",

{type:'2',

value:$("#city").val(),

time:new Date()

},function(data) {

$("#tip").append(""+$("#city").val()+"下县的信息获取成功");

$("#county").html('请选择一个县');

var pros = eval(data);

for (var i=0;i

var countyName = pros[i].name;

var countyValue = pros[i].value;

var opt = $(""+countyName+"");

$("#county").append(opt);

}

});

});

$("#county").change(function() {

$("#tip").append("请求Ajax获取镇...");

if ($("#county").val() == '0') {

$("#town").html('');

return;

}

$.get("ajax.do",

{type:'3',

value:$("#county").val(),

time:new Date()

},function(data) {

$("#tip").append(""+$("#county").val()+"下镇的信息获取成功");

$("#town").html('');

var pros = eval(data);

for (var i=0;i

var townName = pros[i].name;

var townValue = pros[i].value;

var opt = $(""+townName+"");

$("#town").append(opt);

}

});

});

});

省:

请选择一个省

湖北

市:

县:

镇:

package com.servlet.ajax;

import java.io.IOException;import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class AjaxServlet

*/

@WebServlet("/ajax.do")

public class AjaxServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* Default constructor.

*/

public AjaxServlet() {

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

String type = request.getParameter("type");

String value = request.getParameter("value");

PrintWriter pw = response.getWriter();

System.out.println(type);

if ("1".equals(type) && value != null && !"".equals(value)) { // 根据省获取市

// 这里可以从数据库获取

if ("hubei".equals(value)) {

StringBuilder citys = new StringBuilder();

citys.append("[");

citys.append("{name:'武汉',value:'hubei001'},");

citys.append("{name:'襄阳',value:'hubei002'}");

citys.append("]");

System.out.println(citys.toString());

pw.print(citys.toString());

}

}

else if ("2".equals(type) && value != null && !"".equals(value)) { // 根据省获取县

// 这里可以从数据库获取

StringBuilder countries = new StringBuilder();

if ("hubei001".equals(value)) {

countries.append("[");

countries.append("{name:'AAA县',value:'wuhan001'},");

countries.append("{name:'BBB县',value:'wuhan002'},");

countries.append("{name:'CCC县',value:'wuhan003'}");

countries.append("]");

}

else if ("hubei002".equals(value)) {

countries.append("[");

countries.append("{name:'南漳县',value:'xiangyang001'},");

countries.append("{name:'古城县',value:'xiangyang002'}");

countries.append("]");

}

System.out.println(countries.toString());

pw.print(countries.toString());

}

else if ("3".equals(type) && value != null && !"".equals(value)) {

StringBuilder towns = new StringBuilder();

if ("wuhan001".equals(value)) {

towns.append("[");

towns.append("{name:'AAA镇',value:'wuhan001'},");

towns.append("{name:'BBB镇',value:'wuhan002'},");

towns.append("{name:'CCC镇',value:'wuhan003'}");

towns.append("]");

}

else if ("wuhan002".equals(value)) {

towns.append("[");

towns.append("{name:'CCC镇',value:'wuhan001'},");

towns.append("{name:'DDD镇',value:'wuhan002'},");

towns.append("{name:'EEE镇',value:'wuhan003'}");

towns.append("]");

}

else if ("wuhan003".equals(value)) {

towns.append("[");

towns.append("{name:'FFF镇',value:'wuhan001'},");

towns.append("{name:'GGG镇',value:'wuhan002'}");

towns.append("]");

}

else if ("xiangyang001".equals(value)) {

towns.append("[");

towns.append("{name:'WWW镇',value:'wuhan001'},");

towns.append("{name:'RRR镇',value:'wuhan002'}");

towns.append("]");

}

else if ("xiangyang002".equals(value)) {

towns.append("[");

towns.append("{name:'XXX镇',value:'wuhan001'},");

towns.append("{name:'YYY镇',value:'wuhan002'}");

towns.append("]");

}

System.out.println(towns.toString());

pw.print(towns.toString());

}

}

}

追问:

若是个留言页面,打开显示第一页,随后用Ajax翻页。

在js里拼接,那不是得一开始在后台拼接第一页,翻页时又换在js里拼接,同个方法前台后台写两次吗?

追答:

第一次的时候会把总页数,一次显示多少页,当前是第几页,还有你要显示的第一页的数据拼接成json格式,然后前台js解析显示。翻页时,将当前页还有查询条件带回使用Ajax获取数据,然后显示。一直都是在后台拼接,JS里只是解析并显示了而已。

追问:

谢谢。那这样用js解析,搜索引擎不是收录不到了么

追答:

你关心这个干嘛??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值