利用ajax调用action中的三中方法

本文介绍了如何在Struts框架中使用JSON结果类型,并通过jQuery的AJAX方法实现前后端的数据交互。具体包括使用struts_json继承、配置struts.xml、使用$.ajax()和$.post()方法发送请求并接收响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=medium]1、struts中要继承struts_json
2、struts.xml的配置文件中要设置<result type="json"/>
3、dataType:"json", //接受数据格式 [/size]

4、$.ajax()来调用action


 <script>
$(document).ready(function(){
$.ajax({
url :"newscenter/message/ten_news_list.action", //后台处理程序
type:"post", //数据发送方式
async:false,
dataType:"json", //接受数据格式
error: function(){
alert("服务器没有返回数据,可能服务器忙,请重试");
},


success: function(json){
var listArray = eval(json).titlelist;


for(var i=0;i<listArray.length;i++)
{
$(".index_leftlist ul").append("<li>"+listArray[i]+"</li>");

}

}
});
});

</script>

[size=medium]
2、jquery使用$.post()来调用action
[/size]
2.1、struts中要继承struts_json
2.2、struts.xml的配置文件中要设置<result type="json"/>

2.3、$.post(url,data,callback,"json"),跟上面的一样。如果不写"json",在解析json的时候就会出错;[/size]
[quote]$(document).ready(function(){

var userInput=$("#companyName");
userInput.blur(function(event) {

//处理文本框中的键盘事件
//如果输入字母,将文本框中最新信息发送给服务器
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;//获得键值
var wordText =$("#companyName").val();



$.post("account_help/isUserNameExists.action?companyName="+wordText, null, function(json) {

var isCompanyExists = json.companyExists;
if(!isCompanyExists)
{
alert('公司名不存在');
}

},"json");

});[/quote]

[size=medium]


[size=large]3、使用jquery接受返回的xml数据。[/size]

		var wordInput=$("#CheckImgCode");
wordInput.keyup(function(event) {

//处理文本框中的键盘事件
//如果输入字母,将文本框中最新信息发送给服务器
var myEvent = event || window.event;
var keyCode = myEvent.keyCode;//获得键值
var wordText =$("#CheckImgCode").val();


$.post("account_help/check.jsp?name="+wordText+"&Event=Search", {word:wordText}, function(data) {
var jqueryObj = $(data);//将dom对象data转换成jQuery的对象
var wordNodes = jqueryObj.find("message");//找到所有word节点
var wordNode = wordNodes.text();//获取单词内容

if(wordNode=="true")
{
document.getElementById("imgName").src="images/true.gif";
//让注册按钮失效
//让注册按钮失效
document.getElementById("next").disabled=false;
}
else
{
document.getElementById("imgName").src="images/false.gif";
//让注册按钮失效
document.getElementById("next").disabled=true;
}
},"xml");

});

check.jsp中的代码:
<%@ page contentType="text/xml; charset=gb2312" language="java" %>
<%



String rand = (String)session.getAttribute("rand");
String input = request.getParameter("name");

//是否为执行CheckName方法
//返回XML数据给客户端。=========================================================================
//
out.print("<messages>");

if (rand.equals(input))
{
//当数据库中已存在此用户时输出为false,让其显示相应图标
out.print("<message>");
out.print("true");
out.print("</message>");
}
else
{
out.print("<message>");
out.print( "false" );
out.print("</message>");
}

out.print("</messages>");


%>

[size=medium]1、contentType="text/xml;一定要声明为xml否则在ie浏览器中就认为是html在fireforx兼容text/html和text/xml两种格式。[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值