jquery发送ajax请求
$.ajax({})
$.ajax({属性:值,属性:值})
属性值以json形式进行书写
属性
属性名 | 说 明 |
---|---|
String url | 发送请求的地址,默认为当前页地址 |
String type | 请求方式(POST或GET,默认为GET) |
Number timeout | 设置请求超时时间 |
Object(json) data 或String data | 发送到服务器的数据 |
String dataType | 预期服务器返回的数据类型,包括:XML、HTML、Script、JSON、JSONP、text |
boolean global | 表示是否触发全局Ajax事件,默认为true=肯定要异步 |
回调方法
函 数 | 说 明 |
---|---|
function beforeSend( XMLHttpRequest xhr) | 发送请求前调用的函数参数xhr:可选 |
function complete( XMLHttpRequest xhr, String ts) | 请求完成后调用的函数参数xhr:可选参数ts:可选,描述请求类型的字符串 |
function success( Object result) | 请求成功后调用的函数参数result:可选,由服务器返回的数据 |
function error( XMLHttpRequest xhr, String em,Exception e) | 请求失败时被调用的函数参数xhr:可选参数em:可选,错误信息参数e:可选,捕获的异常对象 |
jquery 实现ajax简单实例
<script src="js/jquery-3.4.1.min.js" type="text/javascript"></script>
<script>
$(function () {
$("button").click(function () {
$.ajax({
url: "ajax", //数据提交的url
type: "GET",//数据请求的方式get/post 默认为get
//data: "ajaxValue=test",//提交的数据可以为字符串数组或json对象
data: {"ajaxValue":"test","asdasdas":"test2"},//json对象
dataType: "text", //预计服务器返回数据类型默认为text 一般使用json
success: function (result) {
alert(result);
},
error: function () {
alert("请求失败");
}
});
})
})
</script>
$.get()
$.get(url ,data,success(resp,status,xhr), dataType);
参数名 | 说 明 |
---|---|
String url | 规定将请求发送到目标URL |
Object data 或String data | 可选。规定连同请求发送到服务器的数据 |
function success( Object result, String status, XMLHttpRequest xhr) | 可选。请求成功后调用的函数参数result:可选。服务器返回的结果数据参数status:可选。请求的状态参数xhr:可选 |
String dataType | 可选。预期服务器返回的数据类型,包括:XML、HTML、Script、JSON、JSONP、text |
String jsonstr="{\"key\":\"value\"}";
response.getWriter().print(jsonstr);
$.get("ajax",{"ajaxValue":"test"},function(res){
alert(res)
alert(res.key)
},"json")
$.post()
$.post(url,data,success(resp,status,xhr), dataType);
参数名 | 说 明 |
---|---|
String url | 规定将请求发送到目标URL |
Object data 或String data | 可选。规定连同请求发送到服务器的数据 |
function success( Object result, String status, XMLHttpRequest xhr) | 可选。请求成功后调用的函数参数result:可选。服务器返回的结果数据参数status:可选。请求的状态参数xhr:可选 |
String dataType | 可选。预期服务器返回的数据类型,包括:XML、HTML、Script、JSON、JSONP、text |
String jsonstr="{\"key\":\"value\"}";
response.getWriter().print(jsonstr);
$.post("ajax",{"ajaxValue":"test"},function(res){
alert(res)
alert(res.key)
},"json")
json
进行数据交互时初期使用的是xml数据形式进行数据的传输,但是xml这种形式的数据无论是前台还是后台都没有良好的读取书写环境,json就是替代xml进行前后端交互的一种字符串形式的数据
语法格式:{“key”:value}
key只能为字符串类型,value一般也为字符串,如果为数值类型可以不加“”
JSON出现之前的数据交互方式: XML
XML难于解析
体积比较大
读写不够灵活
JSON优点—String
轻量级交互语言
结构简单
易于解析
json虽然是轻量级字符串数据但是由于其数据格式的特性在java中进行直接定义需要使用转义符,否则输出的格式会与json不符
String jsonstr="{\"key\":\"value\"}";
所以,在java中提供了很多进行json操作的工具类
jsonObject就是其中之一
jsonObject类的使用
1、导入相应jar以及依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7JMKul7-1608042776552)(day1211(ajax,json)].assets\image-20201211152824281.png)
2、根据需求调用相应方法
public static void main(String[] args) {
// 创建java json空白对象
JSONObject jo = new JSONObject();// var jsonObj={};
//将指定的key-value转换为json字符串存入指定json对象
//如果添加key已存在则使用value替换
// jo.put("k2", "v2");
// jo.put("k2", "v3");
//将指定的key-value转换为json字符串存入指定json对象
//如果key已存在将value以数组形式进行存储
// jo.accumulate("k1", "v1");
//jo.accumulate("k1", "v2");
HashMap<String, Student> map=new HashMap<>();
Student student = new Student("张三", 18, "男");
map.put("s1",student);
map.put("s2",new Student("李四", 19, "女"));
//将指定map集合以json数据的形式添加到指定json对象中
jo.putAll(map);
//System.out.println(jo);
//JSONObject静态方法 可以将指定对象转换为json对象
//自动调用相应的get方法 生成相应的json对象并返回
JSONObject fromObject = JSONObject.fromObject(student);
JSONObject fromObject1 = JSONObject.fromObject(map);
System.out.println(fromObject1);
}