问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-23 05:03

我来回答

5个回答

热心网友 时间:2022-04-23 06:32

一般都是后台直接拼接好JSON格式返回,页面解析。
给你看个例子:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>四级联动下拉列表选中值保持不变</title>
<style type="text/css">
div #tip {
font:consolas normal 20px;
color:blue;
}
</style>
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(function() {
$("#province").change(function() {
if ($("#province").val() == '0') {
$("#city").html('');
$("#county").html('');
$("#town").html('');
return;
}
$("#tip").append("<span>请求Ajax获取城市...<br></span>");
$.get("ajax.do",
{type:'1',
value:$("#province").val(),
time:new Date()
},function(data) {
$("#tip").append("<span>"+$("#province").val()+"下城市信息获取成功<br></span>");
$("#city").html('<option value="0" selected="selected">请选择一个市</option>');
var pros = eval(data);
for (var i=0;i<pros.length;i++) {
var cityName = pros[i].name;
var cityValue = pros[i].value;
var opt = $("<option value='" + cityValue + "'>"+cityName+"</option>");
$("#city").append(opt);
}
});
});
$("#city").change(function() {
$("#tip").append("<span>请求Ajax获取县...<br></span>");
if ($("#city").val() == '0') {
$("#county").html('');
$("#town").html('');
return;
}
$.get("ajax.do",
{type:'2',
value:$("#city").val(),
time:new Date()
},function(data) {
$("#tip").append("<span>"+$("#city").val()+"下县的信息获取成功<br></span>");
$("#county").html('<option value="0" selected="selected">请选择一个县</option>');
var pros = eval(data);
for (var i=0;i<pros.length;i++) {
var countyName = pros[i].name;
var countyValue = pros[i].value;
var opt = $("<option value='" + countyValue + "'>"+countyName+"</option>");
$("#county").append(opt);
}
});
});
$("#county").change(function() {
$("#tip").append("<span>请求Ajax获取镇...<br></span>");
if ($("#county").val() == '0') {
$("#town").html('');
return;
}
$.get("ajax.do",
{type:'3',
value:$("#county").val(),
time:new Date()
},function(data) {
$("#tip").append("<span>"+$("#county").val()+"下镇的信息获取成功<br></span>");
$("#town").html('');
var pros = eval(data);
for (var i=0;i<pros.length;i++) {
var townName = pros[i].name;
var townValue = pros[i].value;
var opt = $("<option value='" + townValue + "'>"+townName+"</option>");
$("#town").append(opt);
}
});
});
});
</script>
</head>
<body>
省:<select id="province">
<option value="0" selected="selected">请选择一个省</option>
<option value="hubei">湖北</option>
</select>
市:<select id="city"></select>
县:<select id="county"></select>
镇:<select id="town"></select>

<div id="tip"></div>
</body>
</html>

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());
}
}

}

热心网友 时间:2022-04-23 07:50

返回JSON数据吧,然后用JS进行拼接字符串到Document中追问若是个留言页面,打开显示第一页,随后用Ajax翻页。
在js里拼接,那不是得一开始在后台拼接第一页,翻页时又换在js里拼接,同个方法前台后台写两次吗?

追答这个看你做不做SEO之类的,如果不做SEO那直接第一页也可以考虑用JS加载
如果要做SEO,建议你不要用Ajax实现

热心网友 时间:2022-04-23 09:25

建议json用来传输数据,然后在前台进行拼接显示

热心网友 时间:2022-04-23 11:16

1、后台程序生成json数据,不用拼接直接返回
2、ajax接收数据后,调用js解析json数据,可以利用jquery.parseJSON()方法解析
3、解析之后得到obj对象,然后可以直接obj.name这样获取对象属性
4、用html代码拼接
示例:
var obj = jQuery.parseJSON('{"name":"John","age":"20"}');
比如拼接为表格的tr
html = "<tr><td>" + obj.name + "</td><td>" + obj.age + "</td></tr>";

热心网友 时间:2022-04-23 13:24

建议后台!js兼容性不好!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 活珠子变质是啥样的 tcp/ip协议基于什么而写 最贵的水果是什么水果 如何才能实现有效率的公共产品供给均衡? 纯粹公*品的有效供给要求各个社会成员的边际替代率之和等于产品的———— 幼儿园老师怎么自我介绍给小朋友 华北电力大学经济类专业怎么样′? 粉尘爆炸引发火灾算是其它爆炸还是火灾? 潍坊最贵的桔子是什么品种? 考研华东师范大学经济类专业怎么样? 木宵粉尘爆炸通风会不会好点 粉尘爆炸引起的火灾是固体物质火灾还是气体火灾如题 移动卡没开通流量套餐在支付宝买的流量怎么不能用 粉尘爆炸破坏力大,什么是主要导火线 在支付宝冲的流量怎么用不了?还扣我钱? 一日流量包联通在支付宝开通后为什么还不可以用 嗯金属粉尘会不会起火燃烧 在笔记本上玩穿越火线怎么截屏啊? 怎样才能在CF里全屏截图? 粉尘如何会爆炸,这还是首次听说,难道空气中的任何一种粉尘聚集多了着火就会爆炸么?其爆炸机理是甚么? “活动性原则”名词解释 什么是生活原则 劳务分包资质取消了吗 读狼王梦有感2000字 名词解释法经 生活特性问卷名词解释是什么? 名词解释:法的遵守 命题美术活动名词解释 主体性原则 教育学名词解释 小产权购房合同模板免费版 因女方出轨导致的离婚起诉书怎么写 衡水一学校给高三生每人发2张5元人民币,学校此举有何目的? 福鼎白茶为什么分2年底料和3年底料 茶农老安福鼎白茶怎么样?价格怎么样? 为何高考前给孩子补课成绩不升反降? 高考前给孩子喝“补脑保健品”有用吗?在饮食上需要注意什么? 清蒸真鲷鱼块怎么做好吃,清蒸真鲷鱼块的家 福鼎白茶虎运当头的白茶怎么样 高考前给孩子吃什么补脑 狱锁狂龙3之潜龙出海的小说章节