zoukankan      html  css  js  c++  java
  • Javascript 中ajax实现前台向后台交互

    第一种情况:前台传入字符串参数 后台返回json字符串、或是json数组 

    代码如下

    前台:

    $.ajax({
              url: "xxx/xxx.action",
              data: "id=xxx",
              cache: false,
              async: false,
              success: function(result)
          	{
    		        A:接收后台返回的数组 
                  var data = eval(result);
    		        if (typeof(data) != "undefined" && data.length > 0) 
    		        {
          			  for(var i=0;i<data.length;i++)
          			  {
    			        	data[i]["id"];
    			        	data[i]["name"];
          			  }
    		        }
    				B: 后台返回字符串、则直接接收
          	},
    	        error: function(){
    	            alert("table loading error...");
    	        }
          });
    后台:
            PrintWriter out = ServletActionContext.getResponse().getWriter();
    		/* 后台返回json字符串*/
                  StringBuffer string = new StringBuffer(); 
    string.append(""); out.print(string);
    /* * 后台返回json数组 */
    List<String> list = new ArrayList<String>();
    JSONArray jArray = JSONArray.fromObject(list);
    out.print(jArray); out.flush();
    return null;

    第二种情况:前台传入json数组作为参数与后台进行交互
    前台:
    function delCheckedData(){
                var array = new Array();
                
                $(":checkbox[name='chk'][checked=true]").each(function(){
                    array.push({
                        id: $(this).val()
                    });
                })
            	if (array.length > 0) {
            		
            			var gridJSON = JSON.stringify(array, function(key, value){
            				return value;
            			});
            			$.ajax({
            				url: "/xxx/xxx.action",
            				cache: false,
            				data: "idListJSON=" + gridJSON,
            				async: false,
            				success: function(result){
            					
            					var instData = eval(result);
            					//相应的处理
            				},
            				error: function(){
            					alert("Error...");
            				}
            			});
                }
            }
    后台:
    JSONArray instArray = JSONArray.fromObject("参数");
            for (int i = 0; i < instArray.size(); i++)
            {
                JSONObject instJ = (JSONObject)instArray.get(i);
                String sId = instJ.get("id").toString();
                //得到Id做相应的操作
            }
  • 相关阅读:
    linux输出信息调试信息重定向
    JDBC复习
    在Java中用for循环打印菱形
    深入.NET框架
    C#中等号左右的文本值交换
    使用集合组织相关数据
    深入类的方法
    值传递和引用传递专题案例
    深入C#数据类型
    Computer Vision Rescources
  • 原文地址:https://www.cnblogs.com/zknublx/p/5844064.html
Copyright © 2011-2022 走看看