2.ajax+springmvc+json

前端之家收集整理的这篇文章主要介绍了2.ajax+springmvc+json前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、表单验证/字典/往url传值

<input type="text" id="txt1" onkeyup="showHint(this.value)" />

<span id="txtHint"></span>

xmlhttp.open("GET","/ajax/gethint.asp?q="+str,true);

document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

http://www.w3school.com.cn/tiy/t.asp?f=ajax_suggest


2、ajax+springmvc+json 前端接收mvc传递来的json数据

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <Meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>ajax for springMVC</title>
    <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
      $(function() {
        $("#click").click(function() {
          $.ajax( {
            type : "GET",url : "ajax.do",data : "name=zhangsan&age=20",dataType: "text",success : function(msg) {
           //jquery解析json
            var obj = $.parseJSON(msg) 
            alert(obj.name); 
            alert(obj.age);
            $("#show").val(msg);
            }
          });
        });
      });
    </script>
  </head>
  <body>
    <input id="click" type="button" value="click to show person" />
    <input id="show" />
  </body>
</html>
       
    @RequestMapping(value = "ajax.do",method = RequestMethod.GET) 
    public void ajax(@modelattribute Person person,PrintWriter printWriter) { 
        String jsonString = JSON.toJSONString(person,SerializerFeature.PrettyFormat); 
        printWriter.write(jsonString); 
        printWriter.flush(); 
        printWriter.close(); 
    } 


项目地址:http://download.csdn.net/detail/nickfover/8249075



3、ajax+springmvc+json ajax向springmvc传递json

<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>  
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>Insert title here</title>  
<script type="text/javascript">  
  
    $(document).ready(function(){  
        //传递字符串格式json对象到后台(一个json对象)  
        $("#resolveJsonObject").click(function(){  
            var userName =encodeURI($("#userName").attr("value"));  
            var age = encodeURI($("#age").attr("value"));  
              //向mvc传递json对象
            var user = {userName:userName,age:age};  
            var aMenu  = encodeURI(JSON.stringify(user));  
  
            $.ajax({  
                 url:"resolveJsonObject",data:"orderJson=" + aMenu,success:function(data){  
                      
                }  
            });  
        });  
          
        //传递json数组到后台  
        $("#resolveJsonArray").click(function(){  
            var userName =encodeURI($("#userName").attr("value"));  
            var age = encodeURI($("#age").attr("value"));  
              
            //数组开始  
            var user1 = {userName:userName,age:age};  
            var allMenu={  
                "menu":[ ]  
                };  
            allMenu.menu.push(user1);   
            var allMenu1 = encodeURI(JSON.stringify(allMenu));  
              
            $.ajax({  
                //json数组  
                 url:"resolveJsonArray",data:"orderJson=" + allMenu1,success:function(data){  
                      
                }  
            });  
        });  
          
        //接收后台的json在前台解析  
        $("#resolveJson").click(function(){  
              
        	 $.ajax({  
                 //解析从后台返回的json数据  
                 url:"resolveJson",type:"post",success:function(data){  
                	 var arr=eval(data); 
                     for(var m = 0;m<arr.length;m++){  
                         alert(arr[m].user.userName);  
                     }  
                 }  
             });  
        });  
    });  
  
</script>  
</head>  
<body>  
    <h1>json添加用户</h1>   
      
    姓名:<input id="userName" type="text" name="userName">  
    年龄:<input id="age" type="text" name="age"><br>  
    <input type="button" id="resolveJsonObject" value="json对象">  
    <input type="button" id="resolveJsonArray" value="json数组">  
    <input type="button" id="resolveJson" value="前端解析json字符串">  
    
</body>  
</html>  


package org.nick.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.nick.demo.Person;
import org.nick.demo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;


@Controller
public class BaseController {
	@RequestMapping("/link")
	public String fun3(){
		return "/link";
	}
	 @RequestMapping("toAjax.do") 
	    public String toAjax() { 
	        return "ajax"; 
	    } 
	       
    @RequestMapping(value = "ajax.do",SerializerFeature.PrettyFormat); 
        printWriter.write(jsonString); 
        printWriter.flush(); 
        printWriter.close(); 
    } 
    //接收前台传过来的字符串格式的json对象,在后台进行解析  
    @RequestMapping("/resolveJsonObject"    )  
    public void resolveJsonObject(HttpServletRequest request,HttpServletResponse response) throws IOException {  
        //解码  
        String str = URLDecoder.decode(request.getParameter("orderJson"),"UTF-8");  
        JSONObject jb=new JSONObject();   
        //将json格式的字符串转换为json对象,并取得该对象的“userName”属性值  
        String o=(String)jb.fromObject(str).get("userName");  
        System.out.println(o);  
    }   
      
     //传递json数组字符串  
    @RequestMapping("/resolveJsonArray" )  
    public void resolveJsonArray(HttpServletRequest request,HttpServletResponse response) throws IOException {  
        //解码,为了解决中文乱码  
        String str = URLDecoder.decode(request.getParameter("orderJson"),"UTF-8");  
        JSONObject jb=new JSONObject();  
        //将json格式的字符串转换为json数组对象  
        JSONArray array=(JSONArray)jb.fromObject(str).get("menu");  
        //取得json数组中的第一个对象  
        JSONObject o = (JSONObject) array.get(0);//获得第一个array结果  
        //取出json数组中第一个对象的“userName”属性值  
        String name=o.get("userName").toString();//获得属性值  
        System.out.println(name);  
    }   
      
    //通过该函数返回json格式的数据,在前台通过JQuery进行解析  
    @RequestMapping("/resolveJson"  )  
    public void resolveJson(HttpServletRequest request,HttpServletResponse response) throws IOException {  
          
        List m = (List) new  ArrayList();  
        JSONArray jsons = new JSONArray();  
        for(int i=0;i<10;i++){  
            User user = new User();  
            user.setUserName("name_" + i);  
            m.add(user);  
        }  
          
        for(int j=0;j<m.size();j++){  
            JSONObject jsonObject = new JSONObject();  
            jsonObject.put("user",m.get(j));  
            jsons.add(jsonObject);  
        }  
        //火狐浏览器要添加如下格式设置utf-8
        response.setContentType("text/html;charset=UTF-8");
        System.out.println(jsons.toString());
        response.getWriter().print(jsons.toString()) ;   
    }   
      
    @RequestMapping("/toJson"   )   
    public String toJson() {  
        return "/json";  
    }  
}  

http://localhost:8080/springmvc/link

项目下载:http://download.csdn.net/detail/nickfover/8251017

猜你在找的SpringMVC相关文章