web中用ajax传递json数据到后台

个人笔记,不喜欢勿评论


今天学习了一下如何使用ajax传递json数据到后台

1、首先需要导入几个json的jar包;

web中用ajax传递json数据到后台_第1张图片

2、开始写代码

     前端代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>






My JSP 'index.jsp' starting page












	

后台接受的代码:


response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		System.out.println("到了dopost方法中----------------------------");
		PrintWriter out = response.getWriter();
		/**
		 * 采用request.getParameter("username");获取从页面传来的值时,括号中的参数为页面中name的值
		 */
		/*String username=request.getParameter("username");
		String passwrd=request.getParameter("password");
		System.out.println(username+"/"+passwrd);
		out.print(username+"/"+passwrd);*/
		/**
		 * 接受从前端传递过来的json数据,要注意引入解析json的包
		 */
		String name=request.getParameter("ss");
		JSONObject json=JSONObject.fromObject(name);
		Iterator iter = json.keySet().iterator();  
	       Map map = new HashMap();  
	       /**
	        * 解析来自前端页面的值,解析json数组
	        */
	       while (iter.hasNext()) {  
	        String key = (String) iter.next();  
	        String value = json.getString(key);  
	        System.out.println("key:"+key+",value:"+value);
	        map.put(key, value);  
	       }
	     String value=map.get("name");
	     JSONArray jsonArray =JSONArray.fromObject(value);
	     System.out.println("长度为:"+jsonArray.size());
	    	     for (int i = 0; i 


注意事项:

1、前端需注意的是①json数据的写法②ajax传递时,若定义datatype:"json",则表示后台返回的值必须为json格式才可以

2、后台需注意json数组的解析方式

你可能感兴趣的:(web中用ajax传递json数据到后台)