ajax手写(如何在struts1.2中返回xml数据岛字符串给ajax,在ajax中如何获取谢谢)

本文目录
- 如何在struts1.2中返回xml数据岛字符串给ajax,在ajax中如何获取谢谢
- 利用ajax请求数据返回的整个jsp页面如何只显示一部分内容,我只需要显示这个jsp页面其中的一个div内容
- 如何手写Ajax实现异步刷新
如何在struts1.2中返回xml数据岛字符串给ajax,在ajax中如何获取谢谢
如果你只是想传递字符窜的话在action中要加入下面两行代码
response.setContentType("text/text;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
然后用:response.getWriter().print("XXX");
要使用xml文件传递数据的话在action中加入另外两行代码:
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
下面的我给你个例子吧,希望你能看明白:
public ActionForward showDiaryByID(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
DiaryForm DiaryForm = (DiaryForm) form;
UserInfo ui = (UserInfo) request.getSession().getAttribute("uf");
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
String userid = ui.getUserid();
DiaryInfo di = new DiaryInfo();
di.setUserid(userid);
List list = new DiaryService().showDiaryByID(di);
StringBuffer sb = new StringBuffer();
sb.append("《response》");
sb.append("《root》");
for (int i = list.size()-5; i 《 list.size(); i++) {
DiaryInfo df = (DiaryInfo) list.get(i);
sb.append("《item》");
sb.append("《diaryId》" + df.getDiaryId() + "《/diaryId》");
sb.append("《title》" + df.getTitle() + "《/title》");
sb.append("《content》" + df.getContent() + "《/content》");
sb.append("《date》" + df.getDate() + "《/date》");
sb.append("《userid》" + df.getUserid() + "《/userid》");
sb.append("《/item》");
}
sb.append("《/root》");
sb.append("《/response》");
try {
PrintWriter out = response.getWriter();
out.print(sb.toString());
out.close();
out.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
获取是:var items=xmlHttpRequest.responseXML.getElementsByTagName("item");(xmlHttpRequest是判断浏览器的变量)
利用ajax请求数据返回的整个jsp页面如何只显示一部分内容,我只需要显示这个jsp页面其中的一个div内容
推荐使用jquery:
在你的ajax回调函数中这样写:
success:function(data){
var $data = $(data) //将整个文档转化为jquery对象
var target_div = $data.find("#div_id"); //获取到你要显示的div
// 将这个div显示
$("body").append(target_div); //怎么显示你自己处理
}
全手写,希望能帮到你。
如何手写Ajax实现异步刷新
所谓的异步刷新,就是不刷新整个网页进行更新数据。
只有通过js才能实现Ajax,进而实行异步刷新
表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面(刷新页面);ajax是在当前页面提取某些数据并提交出去,并能接收返回来的数据,处理之后进而显示在当前页面(不刷新页面)。
【例子】==验证用户名是否重复==
使用Ajax的思路:在要刷新的页面中写js和Ajax代码,把数据提交给另一个页面,在Page_Load中写查询代码并把结果返回到刷新的页面。
界面
一、使用Linq连接数据库
二、把jquery文件导入到项目中。代码写在《head》中
《script src="js/jquery-1.2.3.pack.js" type="text/javascript"》《/script》
三、在刷新的页面写如下代码。代码写在《head》中
《script src="js/jquery-1.2.3.pack.js" type="text/javascript"》《/script》 《%--调用jquery--%》
《script》
$(document).ready(//当页面准备好加载完成的时候触发
function getval() {
$("#TextBox1").blur(function () {//当鼠标点击或离开时触发
var txt = $(this).val();//获取文本框的值
//使用ajax发送出来文本框的值
$.ajax( {
url: "De.aspx",
type: "POST",
data: {id:txt},
//接收数据库返回的信息
datatype: "xml",
success: function (data) {//data中的数据就是De页面中count的数据
var co = $(data).text();
if (parseInt(co) == 0) {
var lbl = document.getElementById("Label1");//利用js输出
lbl.innerHTML = "√";
} else {
var lbl = document.getElementById("Label1");
lbl.innerHTML = "此用户名已注册";
}
}
});
});
});
《/script》
四、在传值的页面中的Page_Load中写如下代码
protected void Page_Load(object sender, EventArgs e)
{
//查询传过来的数据
DataClassesDataContext dc = new DataClassesDataContext();
string uid = Request.ToString();
int count = dc.STOpro.Where(r =》 r.Stoid == int.Parse(uid)).Count();
//以xml形式返回
Response.Write("《?xml varsion=’1.0’?》");
Response.Write("《count》" + count + "《/count》");
Response.End();//关掉Response
}
完成!

更多文章:
计算机网络协议指的是tcp ip协议(TCP/IP协议是什么)
2025年10月21日 07:15
oracle数据库备份文件后缀(ORACLE 数据库导出的数据文件 什么后缀)
2026年4月7日 10:45
新加坡marina square风景(新加坡Marina Bay Sands空中花园设计欣赏)
2026年4月3日 10:45
datagridview设置表头(Datagridview表头样式设置)
2026年9月3日 13:45
mysql workbench查看表结构(在使用mysqlworkbench6.3怎么查看mysql数据库的关系图)
2025年7月31日 04:30
curl访问地址(php curl访问本地测试地址 链接超时,什么原因.公网可以)
2026年2月15日 19:15
object后面接什么(高中英语 object 意思为“拒绝“时的用法 后面跟什么)
2026年6月30日 19:00
win10系统java环境变量设置(win10怎么配置java环境变量path)
2025年6月16日 13:45
jquerytrigger参数(怎么给jquery方法传值 就是点击第2个button后执行第一个button的方式 怎么给s传值)
2025年11月5日 00:15
selective tool教程(selective tool能卸载吗)
2025年5月30日 06:30















