实现ajax后台与前台的相互传值与(地址需转码后传)

首先需要导包
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-lang-2.3.jar
commons-lang3-3.1.jar
commons-logging-1.0.4.jar
后台接受前台需用set get方法

这是action
public class Action extends ActionSupport {
	private long num;
	private int type;
	String  documentType;

	public long getNum() {
		return num;
	}
	public void setNum(long num) {
		this.num = num;
	}
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	public String show() throws IOException {
		Gson sGson = new Gson();
		//第一种
		/*JSONArray jsonArray = new JSONArray() ;
		for(int i=0;i<2;i++){
			Object[] objects = new Object[1];
			objects[0]=1;
			objects[1]=URLEncoder.encode("https://www.baidu.com/", "utf-8");//进行转码
			}
			jsonArray.add(objects);
		String json = sGson.toJson(jsonArray);*/
		//第二种 不用jsonArray
		List list =new ArrayList<>();
                   for (int i = 0; i < 5; i++) {
                   list.add(1);
                      }
                   String json = sGson.toJson(list);
		ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
		ServletActionContext.getResponse().getWriter().write(json);
		System.out.println(num);
		System.out.println(type);
		return null;
	}
}

这是js前台代码

 var params= $.param({
					'num' : 123,
					'type' : 456,
				}, true);
			$.ajax({
			/*第一种*/
	          /*  type : 'POST',
	            url : 'Action ',
	            async:true,
	            data :params,
				success : function(data) {
					  data =JSON.parse(data);
					  for ( var x in data) { 
					  data[x][1]=decodeURI(data[x][1], "utf-8");//解码
						console.log(data);	
						}
	            },*/
	            /*第二种*/
	            type : 'POST',
                     url : 'Action ',
                     dataType : "json",
                     async:true,
                     data :params,
                     success : function(data) {
                     
                    for (var i = 0; i < data.length; i++) {                     
                     data[x]的值为1
                     /*如果里面为对象可以直接.出属性*/
                     }
                     console.log(data);
	            error : function() {
	            	console.log("errpr");
	            }
	        });  

struts代码


		

你可能感兴趣的:(实现ajax后台与前台的相互传值与(地址需转码后传))