json与Ajax

什么是JSON?

​  JSON(JavaScript Object Notation, JS 对象格式) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON即JS对象的格式:

​  在Javascript中,使用{}表达式对象,使用[]表示数组,所有的JS数据都是由这两种格式组成.这就是JSON数据格式的标准.本质上由于JSON是字符串.所以使用该格式可以肆意传输.

如何解析JSON?

  对于json数据格式的解析,市面技术比较多,主要讲: 原Sun公司-json-lib.jar,阿里-fastjson,google-gson的解析方式。

SUN公司解析方式---------原生JSON解析方式

JSONObject核心方法:

private static void strToJSON() throws Exception {
	//JSON 对象格式
	String json1 = "{name:'张三',age:1,sex:null}";
	//将字符串转化为JSON对象
	JSONObject jsonObject = new JSONObject(json1);
	// get(name) : 根据指定的key 从 JSON对象中获取对应的值
	// getString	getBoolean 等等方法都是通过get方法进行数据类型转换
	Object name = jsonObject.get("name");
	Object age = jsonObject.get("age");
	System.out.println(name.toString()+"   "+age.toString());
	String string = jsonObject.getString("name");
	//Object o = jsonObject.get("sex");
	// 注意: 当从JSON中根据key获取值时,若没有指定的key,使用get 获取时,会抛异常,表示该JSON没有这个属性.
	//has(key) : 判断JSON中是否存在指定的key
	boolean flag = jsonObject.has("sex");
	System.out.println(flag);
	flag = jsonObject.has("name");
	System.out.println(flag);
	//isNull(key) : 判断指定的key 是否存在或者key对应的值为null
	System.out.println(jsonObject.isNull("sex"));
	//keys() : 获取所有的key
	Iterator keys = jsonObject.keys();
	while(keys.hasNext()) {
		System.out.println(keys.next());
	}
	//length : json中元素的个数
	System.out.println(jsonObject.length());
	//names() : 返回json对象中所有的key 
	JSONArray names = jsonObject.names();
	for(int i=0;i<names.length();i++) {
		System.out.println(names.get(i));
	}
	// 根据key 获取json中的数据  若key不存在则返回默认值
	Object phone = jsonObject.opt("phone");
	System.out.println(phone);
	boolean optBoolean = jsonObject.optBoolean("phone");
	System.out.println(optBoolean);
	//optXXX(key,defaultValue): 根据从JSON中获取对应值,若key不存在则返回指定defaultValue作为默认值
	boolean optBoolean2 = jsonObject.optBoolean("phone", true);
	System.out.println(optBoolean2);
	//put(key,value) : 向JSONObject中新增 键值
	jsonObject.put("phone", "1310000001");
	phone = jsonObject.opt("phone");
	System.out.println(phone);
	//remove(key) : 删除指定键值
	jsonObject.remove("phone");
	phone = jsonObject.opt("phone");
	System.out.println(phone);
	//getJSONArray(key) : 根据key 获取对应的值,且将值转化为JSON数组
}

原生JSON解析

需要导入 json-lib.jar

字符串转化为对象

/**
  * @Title: jsonStr
  * @author: Mr.T   
  * @date: 2019年11月6日 上午10:21:05 
  * @Description: JSON格式的字符串
  * @return: void
  */
private static void jsonStr() {
	//JSON 对象格式
	String json1 = "{name:'张三',age:1}";
	//json 数组格式
	String json2 = "[{name:'张三',age:1},{name:'李四',age:2}]";
}
/**
  * @Title: strToJSON
  * @author: Mr.T   
  * @date: 2019年11月6日 上午10:49:14 
  * @Description: 字符串转化为JSON ,及JSONObject中核心方法
  * @throws Exception
  * @return: void
  */
private static void strToJSON() throws Exception {
	//JSON 对象格式
	String json1 = "{name:'张三',age:1,sex:null}";
	//将字符串转化为JSON对象
	JSONObject jsonObject = new JSONObject(json1);
	// get(name) : 根据指定的key 从 JSON对象中获取对应的值
	// getString	getBoolean 等等方法都是通过get方法进行数据类型转换
	Object name = jsonObject.get("name");
	Object age = jsonObject.get("age");
	System.out.println(name.toString()+"   "+age.toString());
	String string = jsonObject.getString("name");
	//Object o = jsonObject.get("sex");
	// 注意: 当从JSON中根据key获取值时,若没有指定的key,使用get 获取时,会抛异常,表示该JSON没有这个属性.
	//has(key) : 判断JSON中是否存在指定的key
	boolean flag = jsonObject.has("sex");
	System.out.println(flag);
	flag = jsonObject.has("name");
	System.out.println(flag);
	//isNull(key) : 判断指定的key 是否存在或者key对应的值为null
	System.out.println(jsonObject.isNull("sex"));
	//keys() : 获取所有的key
	Iterator keys = jsonObject.keys();
	while(keys.hasNext()) {
		System.out.println(keys.next());
	}
	//length : json中元素的个数
	System.out.println(jsonObject.length());
	//names() : 返回json对象中所有的key 
	JSONArray names = jsonObject.names();
	for(int i=0;i<names.length();i++) {
		System.out.println(names.get(i));
	}
	// 根据key 获取json中的数据  若key不存在则返回默认值
	Object phone = jsonObject.opt("phone");
	System.out.println(phone);
	boolean optBoolean = jsonObject.optBoolean("phone");
	System.out.println(optBoolean);
	//optXXX(key,defaultValue): 根据从JSON中获取对应值,若key不存在则返回指定defaultValue作为默认值
	boolean optBoolean2 = jsonObject.optBoolean("phone", true);
	System.out.println(optBoolean2);
	//put(key,value) : 向JSONObject中新增 键值
	jsonObject.put("phone", "1310000001");
	phone = jsonObject.opt("phone");
	System.out.println(phone);
	//remove(key) : 删除指定键值
	jsonObject.remove("phone");
	phone = jsonObject.opt("phone");
	System.out.println(phone);
	//getJSONArray(key) : 根据key 获取对应的值,且将值转化为JSON数组
}
	
/**
  * @Title: strToMap
  * @author: Mr.T   
  * @date: 2019年11月6日 上午10:49:52 
  * @Description: 将JSON字符串转化为Map数据结构
  * @return: void
  * @throws Exception 
  */
public static void strToMap() throws Exception {
	//JSON字符串
	String json1 = "{name:'张三',age:1,sex:'男'}";
	//将字符串转化为JSON
	JSONObject json = new JSONObject(json1);
	//将JSON对象转化为Map
	Map<String,Object> map = new HashMap<String, Object>();
	Iterator keys = json.keys();
	while(keys.hasNext()) {
		String key = keys.next().toString();
		map.put(key, json.get(key));
	}
	System.out.println(map);
}
/**
  * @Title: strToBean
  * @author: Mr.T   
  * @date: 2019年11月6日 上午10:54:16 
  * @Description: 将字符串转化为Java实体对象
  * @throws Exception
  * @return: void
  */
public static void strToBean() throws Exception {
	//JSON字符串
	String json1 = "{name:'张三',age:1,sex:'男'}";
	//将字符串转化为JSON
	JSONObject json = new JSONObject(json1);
	Student st = new Student();
	st.setName(json.getString("name"));
	st.setAge(json.getInt("age"));
	st.setSex(json.getString("sex"));
	System.out.println(st);
}

数组字符串转对象

package com.sxt.sun;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

/**
 * @ClassName: JONArrayParseDemo 
 * @Description: JSON数组解析
 * @author: Mr.T
 * @date: 2019年11月6日 上午11:19:37
 */
public class JONArrayParseDemo {
	
	public static void main(String[] args) {
		try {
			//strToJSONArray();
			strToBean();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void strToJSONArray() throws Exception {
		String jsonArr = "[{name:'张三',age:18,sex:'男'},{name:'李四',age:18,sex:'男'}]";
		// 将数组格式JSON,转化为JSONArray
		JSONArray arr = new JSONArray(jsonArr);
		// length() : 返回数组中元素的个数
		int length = arr.length();
		System.out.println(length);
		//get(index) : 根据下标获取元素
		// getXXX 都是通过get(index) 获取元素进行数据类型转换
		//put(value) : 向后添加元素
		//put(index,value): 修改
		//remove(index) : 删除指定下标
	}
	
	public static void strToBean() throws Exception {
		String str = "{'code':200,'message':'SUCCESS','data':[{'name':'张三','age':18,'sex':'男','like':['篮球','足球']},{'name':'李四','age':18,'sex':'男','like':['篮球','足球']}]}";
		JSONObject jsonObject = new JSONObject(str);
		JSONArray data = jsonObject.getJSONArray("data");
		List<Student> students = new ArrayList<Student>();
		for(int i=0;i<data.length();i++) {
			//根据下标获取数据
			JSONObject obj = data.getJSONObject(i);
			Student st = new Student();
			st.setName(obj.getString("name"));
			st.setAge(obj.getInt("age"));
			st.setSex(obj.getString("sex"));
			JSONArray jsonArray = obj.getJSONArray("like");
			List<String> likes = new ArrayList<String>();
			for (int j = 0; j < jsonArray.length(); j++) {
				likes.add(jsonArray.getString(j));
			}
			st.setLike(likes);
			students.add(st);
			
		}
		System.out.println(students);
	}

}

对象转字符串

package com.sxt.sun;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONObject;

/**
 * @ClassName: ObjectToJsonStr 
 * @Description: 将对象转化为JSON字符串
 * @author: Mr.T
 * @date: 2019年11月6日 上午11:41:45
 */
public class ObjectToJsonStr {
	
	public static void main(String[] args) {
		//mapToStr();
		//beanToStr();
		listToStr();
	}

	
	/**
	 * @Title: mapToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 上午11:42:21 
	 * @Description: 将Map转化为json字符串
	 * @return: void
	 */
	public static void mapToStr() {
		Map<String,Object>  map = new HashMap<String, Object>();
		map.put("name", "韩梅梅");
		map.put("age",18);
		map.put("sex", "女");
		//将Map转化为JSON对象
		JSONObject json = new JSONObject(map);
		System.out.println(json.toString());
	}
	/**
	 * @Title: beanToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 上午11:44:46 
	 * @Description: 将Java对象转化为JSON字符串
	 * @return: void
	 */
	public static void beanToStr() {
		List<String> likes = new ArrayList<String>();
		likes.add("书法");
		likes.add("画画");
		Student st = new Student("韩梅梅", 18, "女", likes);
		JSONObject json = new JSONObject(st);
		System.out.println(json.toString());
	}
	/**
	 * @Title: listToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 上午11:48:14 
	 * @Description: 数组转字符串
	 * @return: void
	 */
	public static void listToStr() {
		List<Student> students = new ArrayList<Student>();
		List<String> likes = new ArrayList<String>();
		likes.add("书法");
		likes.add("画画");
		Student st1 = new Student("韩梅梅", 18, "女", likes);
		Student st2 = new Student("Lucy", 18, "女", likes);
		students.add(st1);
		students.add(st2);
		JSONArray json = new JSONArray(students);
		System.out.println(json.toString());
	}
	
}

阿里-fastJSON解析

​  需要导入fastjson-XXX.jar

    在fastJSON核心方法:

​      parse(str):将json格式的字符串转化为各种类型。

      toJSONString(Object):将各种类型的数据转化为JSON字符串。

package com.sxt.ali;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sxt.sun.Student;

/**
 * @ClassName: FastJSONDemo 
 * @Description: 阿里的fastJSON解析
 * @author: Mr.T
 * @date: 2019年11月6日 下午2:18:27
 */
public class FastJSONDemo {
	
	public static void main(String[] args) {
		//strToBean();
		strToList();
		//beanToStr();
		//listToStr();
	}
	
	// 将字符串转化为Map
	// 将字符串转化为JavaBean
	/**
	 * @Title: strToBean
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午2:21:44 
	 * @Description: 将字符串转化为map
	 * @return: void
	 */
	public static void strToBean() {
		String json1 = "{name:'张三',age:1,sex:'男'}";
		Student student = JSON.parseObject(json1,Student.class);
		System.out.println(student);
	}
	
	/**
	 * @Title: strToList
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午2:29:24 
	 * @Description: 将JSON字符串转化为List
	 * @return: void
	 */
	public static void strToList() {
		String str = "{'code':200,'message':'SUCCESS','data':[{'name':'张三','age':18,'sex':'男','like':['篮球','足球']},{'name':'李四','age':18,'sex':'男','like':['篮球','足球']}]}";
		JSONObject parseObject = JSON.parseObject(str);
		String string = parseObject.getString("data");
		System.out.println(string);
		List<Student> sts = JSON.parseArray(string,Student.class);
		System.out.println(sts);
	}
	/**
	 * @Title: beanToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午2:30:32 
	 * @Description: 将对象转化为字符串
	 * @return: void
	 */
	public static void beanToStr() {
		Student st = new Student("韩梅梅", 18, "女", null);
		String str = JSON.toJSONString(st);
		System.out.println(str);
		
	}
	/**
	 * @Title: listToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午2:32:27 
	 * @Description: 将List转化为字符串
	 * @return: void
	 */
	public static void listToStr() {
		List<Student> students = new ArrayList<Student>();
		List<String> likes = new ArrayList<String>();
		likes.add("书法");
		likes.add("画画");
		Student st1 = new Student("韩梅梅", 18, "女", likes);
		Student st2 = new Student("Lucy", 18, "女", likes);
		students.add(st1);
		students.add(st2);	
		
		String str = JSON.toJSONString(students);
		System.out.println(str);
	}
}

转化思路:

​  利用JSON中数据格式是Map格式,其中key对应的属性名称,根据key获取值,然后根据传递Class 创建对象,根据key,以及key对应的value对对象属性赋值.

Google-GSON解析

需要导入 gson-XXX.jar

package com.sxt.google;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.sxt.sun.Student;

/**
 * @ClassName: GsonDemo 
 * @Description: 使用 gson进行解析
 * @author: Mr.T
 * @date: 2019年11月6日 下午2:51:15
 */
public class GsonDemo {
	
	public static void main(String[] args) {
		strToBean();
		//strToList();
		//strToList2();
		//beanToStr();
		//listToStr();
	}

	/**
	 * @Title: strToBean
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午2:53:48 
	 * @Description: 将字符串转化为对象
	 * @return: void
	 */
	public static void strToBean() {
		String json1 = "{name:'张三',age:1,sex:'男'}";
		Gson gson = new Gson();
		// 将字符串转化为指定的数据类型
		Student student = gson.fromJson(json1,Student.class);
		System.out.println(student);
	}
	
	public static void strToList() {
		String str = "['韩梅梅','李磊','Lucy']";//  List<String>
		Gson gson = new Gson();
		List fromJson = gson.fromJson(str, List.class);
		System.out.println(fromJson);
	}
	/**
	 * @Title: strToList2
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午3:00:25 
	 * @Description: TODO
	 * @return: void
	 */
	public static void strToList2() {
		String str = "[{'name':'张三','age':18,'sex':'男','like':['篮球','足球']},{'name':'李四','age':18,'sex':'男','like':['篮球','足球']}]";
		Gson gson = new Gson();
		List fromJson = gson.fromJson(str, List.class);
		List<Student> students = gson.fromJson(str, new TypeToken<List<Student>>() {}.getType());
		System.out.println(fromJson.size());
		System.out.println(fromJson);
		System.out.println(fromJson.get(0));
		System.out.println(students);
	}

	/**
	 * @Title: beanToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午3:09:23 
	 * @Description: 将对象转化为字符串
	 * @return: void
	 */
	public static void beanToStr() {
		Student st = new Student("韩梅梅", 18, "女", null);
		Gson gson = new Gson();
		String json = gson.toJson(st);
		System.out.println(json);
	}
	/**
	 * @Title: listToStr
	 * @author: Mr.T   
	 * @date: 2019年11月6日 下午3:10:43 
	 * @Description: 将数组转化为JSON字符串
	 * @return: void
	 */
	public static void listToStr() {
		List<Student> students = new ArrayList<Student>();
		List<String> likes = new ArrayList<String>();
		likes.add("书法");
		likes.add("画画");
		Student st1 = new Student("韩梅梅", 18, "女", likes);
		Student st2 = new Student("Lucy", 18, "女", likes);
		students.add(st1);
		students.add(st2);	
		Gson gson = new Gson();
		System.out.println(gson.toJson(students));
	}
}

注意:

​  1.在fastJson解析中,属性必须要有set方法,且值为null的属性,默认不会解析成字符串。

​  2.gson解析中,首先创建gson对象,gson解析不依赖set方法。

Ajax

​  Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
​  Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。技术应用体现。

​  Ajax技术,是Javascript利用浏览器的通信功能,实现数据传输和接收服务器响应的数据的一种技术。

XMLHttpRequest

​  Javascript中一个内置对象,能够利用浏览器发送请求的内置对象.

new XMLHttpRequest();

相关方法:

方法名 解释
open(method,url,async) method:请求的类型;GET 或 POST
url:文件在服务器上的位置
async:true(异步)或 false(同步)
send(string) 将请求发送到服务器,
string:仅用于 POST 请求
setRequestHeader(header,value) 向请求添加 HTTP 头。

相关属性:

属性 描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。

注意:

​ ajax的请求其响应的数据只能是字符串.

事件:onreadystatechange:当状态发生变更时触发的方法

属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。0: 请求未初始化1: 服务器连接已建立2: 请求已接收3: 请求处理中4: 请求已完成,且响应已就绪
status 200: "OK"404: 未找到页面

Ajax步骤

  1. 创建请求对象
  2. 建立连接
  3. 发送请求
  4. 监听请求对象的状态
  5. 当状态为200且响应完成

原生Ajax例子

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Ajax</title>
</head>
<body>
    <button onclick="btn()" class="layui-btn">点击我</button>
    <span id="msg"></span>

    <script>
        function btn() {
            // 创建一个Http请求的对象
            var httpRequest = new XMLHttpRequest();
            // 监听httpRequest状态
            httpRequest.onreadystatechange = function () {
                // 如果就绪状态为4 且 请求状态码为200则执行
                if (httpRequest.readyState == 4 && httpRequest.status == 200) {
                    document.getElementById("msg").innerText = httpRequest.responseText;
                }
            }
            // 创建连接
            httpRequest.open("get", "demo.do", true);
            // 发送请求
            httpRequest.send();
            //获取响应信息  必须在响应完成 且 状态码200时才有
        }
    </script>
</body>
</html>

注意:

​  ajax: 浏览器安全策略: 同源安全策略.

浏览器异常:

Access to XMLHttpRequest at 'http://127.0.0.1:8080/08ajax/test.do' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

jQuery中的Ajax

jquery中的方法

函数 描述
jQuery.ajax() 执行异步 HTTP (Ajax) 请求。
.ajaxComplete() 当 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。
.ajaxError() 当 Ajax 请求完成且出现错误时注册要调用的处理程序。这是一个 Ajax 事件。
.ajaxSend() 在 Ajax 请求发送之前显示一条消息。
jQuery.ajaxSetup() 设置将来的 Ajax 请求的默认值。
.ajaxStart() 当首个 Ajax 请求完成开始时注册要调用的处理程序。这是一个 Ajax 事件。
.ajaxStop() 当所有 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。
.ajaxSuccess() 当 Ajax 请求成功完成时显示一条消息。
jQuery.get() 使用 HTTP GET 请求从服务器加载数据。
jQuery.getJSON() 使用 HTTP GET 请求从服务器加载 JSON 编码数据。
jQuery.getScript() 使用 HTTP GET 请求从服务器加载 JavaScript 文件,然后执行该文件。
.load() 从服务器加载数据,然后把返回到 HTML 放入匹配元素。
jQuery.param() 创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。
jQuery.post() 使用 HTTP POST 请求从服务器加载数据。
.serialize() 将表单内容序列化为字符串。
.serializeArray() 序列化表单元素,返回 JSON 数据结构数据。

ajax方法

​  $.ajax(option);

option属性

属性名 类型 属性解释
url String 请求地址
type String 请求方法:get post,默认是get
async boolean true 异步 false 同步 默认是true
data Object 提交的数据
dataType String 预期服务器返回的数据类型
success function 请求成功后的回调函数
error function 在请求出错时调用函数
complete function 当请求完成之后调用这个函数,无论成功或失败
beforeSend function 在发送请求之前调用
timeout Number 设置请求超时时间(毫秒)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<img src="img/loading.gif" id="loading" style="display: none;" />
<button onclick="sendAJAX()">点击我</button>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
	
	function sendAJAX(){
		var m = 10
		$.ajax({
			//ajax请求的资质
			url:"http://127.0.0.1:8080/08ajax/test.do",
			type:"get",// 默认是get请求 请求方式
			async:true,// 是否异步  默认 true 异步     若是异步,ajax没有完全执行完时,其后面的代码可以接着执行,但是若是同步,只有等ajax执行完,其后面代码才能执行.
					   //若ajax中存在变量参与后面代码的运算,一般将ajax设置为同步.
			data:{name:'张三','age':18},//请求的数据
			//dataType:"json",//期望的返回的数据类型
			success:function(rs){
				m = m + rs;
				console.log(rs);
			},
			error:function(xhr,textStatus){// 请求地址错误时  会触发,当服务器内部异常时也会执行error,只要HTTP请求不是200,就会执行error
				console.log(xhr);
				console.log("error:"+textStatus);
			},
			complete:function(){//请求完成执行,不管成功还是失败都会执行
				console.log("complete:function");
				$("#loading").hide();
			},
			timeout:2000,   // 请求超时的时间  单位是  毫秒
			beforeSend:function(){
				console.log("beforeSend:function");
				$("#loading").show();
			}
		});
		//耗时操作
		//for(var i =0;i<10000000000;i++){}
		//打印m
		console.log(m);
	}
</script>
</body>
</html>

$.post: 只支持post请求

语法:

  $.post(URL,data,callback);

注意:只支持post请求,并且其默认配置都是使用ajax请求的默认值

参数 解释
URL 请求的地址
data 请求的数据
callback 请求完成后回调的函数

$.get

语法:

​ $.get(URL,data,callback);

注意:只支持get请求,并且其默认配置都是使用ajax请求的默认值

参数 解释
URL 请求的地址
data 请求的数据
callback 请求完成后回调的函数
// $.post 示例
function sendPost(){
	var data = {};
	data.name = "张三";
	data.age = 18;
	$.post("http://127.0.0.1:8080/08ajax/test.do",data,function(rs){
		console.log(rs);
		// 将字符串转化为JSON
		rs = JSON.parse(rs);
		// 将对象转化为json字符串
		rs = JSON.stringify(rs);
		console.log(rs.age);
	});
}
	
function sendGet(){
	var data = {};
	data.name = "张三";
	data.age = 18;
	$.post("http://127.0.0.1:8080/08ajax/test.do",data,function(rs){
		console.log(rs);
	});
}
原文地址:https://www.cnblogs.com/lyang-a/p/12563064.html