jQuery操作Ajax和Json

嗯,自己学SSH和做项目也已有两个月了。自己今天来整理一下自己在项目中利用jQuery操作过的Ajax和Json。

当时我对于jQuery操作Ajax几乎不怎么了解,但是项目中有需求,所以自己也是必须要去使用,因此现在来详细讲解一下自己在项目中的操作。

功能中,有一个下拉框,里面存储的是服务商的信息,首选项是“--请选择--”,当我选择第一个下拉框中服务商信息之后,后面紧接着将会得到这个选定的 服务商 下的所有产品。做一个联动操作。虽然我不会用jQuery操作Ajax,但是我第一反应就是想到利用这块技术,于是自己就开始查找对应的资料了。

 

首先,我在Action中,将服务商的信息从数据库查找出来,保存到List集合中,将集合转发到JSP界面上,利用的是struts2标签

 

<div>
    <s:select name="provider.iscenicid" list="#request.providerList" listKey="iscenicid" listValue="szcenicname" headerKey="" headerValue="--请选择" onchange="onChangeOptionScenic(this)" id="scenicType"/></s:select>
    <span id="productInfo"></span>
</div>

 

(ps:其实这个里面,本不应该设置headerKey和headerValue,应该在Action中在List集合中去增加一行再进行操作。)

中间的span标签就是将要利用jQuery操作Ajax把产品信息增加到span标签里面!

 

其次,进行jQuery操作Ajax了:

 

<script>
	function onChangeOptionScenic(_this) {
		// 获取下拉框中的listKey值
		var iscenic = $(_this).val();
		// 设置一个变量,来进行下面的操作
		var htmltv = "";
		// 设置URL地址
		var url = "/tips/travelmessage.action";
		// Ajax操作开始
		$.ajax ({
			// 设定URL
			url : url,
			// 设置提交方式,这里为post
			type : "post",
			// 设置数据类型为Json
			dataType : "json",
			// 设置传过去的值的属性名
			data : {"iscenicid" : iscenic},
			// 成功返回之后的操作方法
			success : function(result) {
 				// 获取Action中传回来的result的值
				var json = eval("("+result+")");  
				// 循环将服务商下的产品以复选框形式拼接出来
				for(var i=0; i<json.length; i++) {
					// 将产品信息以复选框形式拼接起来
					htmltv += "<input type='checkbox' name='productName' value='"+json[i].productId+"'/>"+json[i].productName;
				}
				// 添加到上面的span标签中
				$("#productInfo").val(htmltv);
			}
		});
	}
</script>

 

 

 

最后,将result进行一个映射文件的配置,配置信息如下(根据公司的一些设定而操作):

 

<action name="travelmessage" class="com.web.system.tips.TravelMessageAction" method="travelMessage">
	<result type="json">
		<param name="root">result</param>
	</result>
</action>

 

 

 

在TravelMessageAction中,需要将内容返回到result中,部分代码如下:

 

List productList = travelMessageService.getProductInfo(product);
JSONArray json = new JSONArray().fromObject(productList);
result = json.toString();
return SUCCESS;

 

 

至此,一个完整的操作已完成,这就是自己的一点点整理,希望以后有更多的有技术的知识与大家分享!

更多精彩敬请关注公众号

Java极客思维

微信扫一扫,关注公众号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值