jquery.ajax+struts2
js代码
1 //JS返回json对象 2 function returnDiscountInfoJson(){ 3 var dInfo_select = $("#discountInfo").val(); 4 if(-1==dInfo_select){ 5 return null; 6 } 7 var dInfo_json = eval('(' + dInfo_select + ')'); 8 9 return dInfo_json; 10 } 11 12 13 function discountInfoJS(){ 14 var dInfo_json = returnDiscountInfoJson(); //获得json对象 15 var goodsOrderList = $("#orderGoods").val(); 16 var orderMcardID = $("#memberCardSelect").val(); 17 18 if(null!=dInfo_json){ 19 //以json传递参数,action获取时,只需在action中定义相同的参数名并添加set和get方法 20 var attrs= { 21 dinfoCardId:dInfo_json.discountMemberCardTypeId, 22 dinfoGoodsCId:dInfo_json.discountGoodscategoryId, 23 discountGoodsLimit:dInfo_json.discountGoodsLimit, 24 discountpricelimit:dInfo_json.discountpricelimit, 25 goodsOrderList:goodsOrderList, 26 orderMcardID:orderMcardID 27 }; 28 }else{ 29 var attrs= { 30 dinfo:-1, 31 goodsOrderList:goodsOrderList 32 } 33 } 34 //判断是否满足促销条件 35 $.ajax({ 36 type: "POST", 37 url: "<%=path%>/validDiscountInfo.action", 38 data: attrs, 39 success: function(msg){ 40 //msg为action对象,.isSuccess为action中定义的属性,直接调用即可 41 if("success" != msg.isSuccess){ 42 $("#discountInfo option[value=-1]").attr('selected','selected'); 43 alert( msg.isSuccess ); 44 } 45 } 46 }); 47 }
struts.xml配置
1 <package name="ajax" extends="json-default"> 2 <action name="validDiscountInfo" class="com.action.ValidDiscountInfoAction" method="validDiscountInfo"> 3 <result type="json"></result> 4 </action> 5 6 <action name="payBills" class="com.action.PayBillsAction" method="payBills"> 7 <result type="json"></result> 8 </action> 9 </package>