ajax的最主要作用就是局部更新
前端页面:
$("#port").change(function(){
//alert($("#port").val());
var portno = $("#port").val();
var aurl ="basis/oilGun/rash.do";
$.ajax({
url:aurl,
type:'post',
data:{"portno":portno},
dataType:'json',
asynch : 'false',
success:function(dates){
//alert(dates.message);
var machineno = dates.message;
$("#machineno").val(machineno);
}
});
});
需要的一个一个插件:
<script type="text/javascript" src="resource/js/jquery.js"></script>
type:有两种:post和get,按使用的方式来;
data:发送的j具体数据,前面是数据名,后面是数据值;
dataType:一般用'json'
asynch:同步异步,默认同步,fasle表示异步;
success:function(dates){
},
error:function(dates){
},
数据接收成功与否两种状态下执行什么操作,'dates'是后台发送过来的数据;
后台代码:
@Action("rash") public String rash(){ Operator user = getOperator(); JSONObject json = new JSONObject(); //new一个json对象 if(portInfor==null){ portInfor = new PortInfor(); } try { portInfor = portInforService.findByPortno(portno, user.getNodeId()); machineno = portInfor.getTerminalno();//得到数据 json.put("message", machineno);//存储到json对象中 } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } setJsonText(json.toString()); return JSON_PAGE; //发送回前端 }
后台要用到的包:
import net.sf.json.JSONArray; import net.sf.json.JSONObject;