JQuery+Ajax+Json

div1....
div2....

AJAX


  • 同步,必须等待服务器的响应

  • 异步,客户端与服务器可以同时操作

  • 局部更新网页请添加图片描述

Js原生写法

JQeury实现方式

  • $.ajax()

  • $.get()

  • $.post()

客户端的代码

Title

服务器的代码

@WebServlet(“/ajaxServlet”)

public class AjaxServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//1.获取请求参数

String username = request.getParameter(“username”);

/* //处理业务逻辑。耗时

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}*/

//2.打印username

System.out.println(username);

//3.响应

response.getWriter().write("hello : " + username);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

}

JQuery的方式

Title

Json


  • 是存储和交换文本信息的语法

  • 键值对构成key:value

Java中的写法

Person p = new Person();

p.setName(“张三”);

p.setAge(23);

p.setGender(“男”);

json格式的写法

var person = {“name”: “张三”, age: 23, ‘gender’: true};

Json数据和Java对象的相互转换


  • Json解析器,Jsonlib,Gson,jackson

Person类

public class Person {

private String name;

private int age ;

private String gender;

//@JsonIgnore // 忽略该属性

@JsonFormat(pattern = “yyyy-MM-dd”)

private Date birthday;

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

@Override

public String toString() {

return “Person{” +

“name='” + name + ‘’’ +

“, age=” + age +

“, gender='” + gender + ‘’’ +

‘}’;

}

}

将Java类的数据转换变为Json格式的

public class JacksonTest {

//Java对象转为JSON字符串

@Test

public void test1() throws Exception {

//1.创建Person对象

Person p = new Person();

p.setName(“张三”);

p.setAge(23);

p.setGender(“男”);

//2.创建Jackson的核心对象 ObjectMapper

ObjectMapper mapper = new ObjectMapper();

//3.转换

/*

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
*

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-u6UxnRZL-1714924628170)]

[外链图片转存中…(img-CN1hEwrI-1714924628171)]

[外链图片转存中…(img-2pFeu6VJ-1714924628171)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 30
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的 jQueryAjaxJSON 实现的登录注册示例: HTML 代码: ```html <form id="loginForm"> <input type="text" name="username" placeholder="用户名"><br> <input type="password" name="password" placeholder="密码"><br> <button type="submit">登录</button> </form> <form id="registerForm"> <input type="text" name="username" placeholder="用户名"><br> <input type="password" name="password" placeholder="密码"><br> <input type="password" name="confirmPassword" placeholder="确认密码"><br> <button type="submit">注册</button> </form> ``` jQuery 代码: ```javascript $(function () { // 登录表单提交 $('#loginForm').submit(function (e) { e.preventDefault(); // 阻止表单默认提交行为 var data = $(this).serialize(); // 序列化表单数据 $.ajax({ url: '/api/login', type: 'POST', data: data, dataType: 'json', // 响应数据类型为 JSON success: function (response) { alert(response.msg); // 弹出响应消息 if (response.code === 0) { // 登录成功,跳转到首页 window.location.href = '/'; } }, error: function () { alert('网络错误,请稍后再试!'); } }); }); // 注册表单提交 $('#registerForm').submit(function (e) { e.preventDefault(); // 阻止表单默认提交行为 var data = $(this).serialize(); // 序列化表单数据 $.ajax({ url: '/api/register', type: 'POST', data: data, dataType: 'json', // 响应数据类型为 JSON success: function (response) { alert(response.msg); // 弹出响应消息 if (response.code === 0) { // 注册成功,跳转到登录页面 window.location.href = '/login'; } }, error: function () { alert('网络错误,请稍后再试!'); } }); }); }); ``` 后端接口代码(使用 Express 框架): ```javascript const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // 模拟用户数据 let users = [ { username: 'admin', password: 'admin123' } ]; // 登录接口 app.post('/api/login', (req, res) => { const { username, password } = req.body; const user = users.find(u => u.username === username && u.password === password); if (user) { res.json({ code: 0, msg: '登录成功!' }); } else { res.json({ code: -1, msg: '用户名或密码错误!' }); } }); // 注册接口 app.post('/api/register', (req, res) => { const { username, password, confirmPassword } = req.body; if (username && password && confirmPassword && password === confirmPassword) { const user = users.find(u => u.username === username); if (user) { res.json({ code: -1, msg: '用户名已存在!' }); } else { users.push({ username, password }); res.json({ code: 0, msg: '注册成功!' }); } } else { res.json({ code: -1, msg: '参数错误!' }); } }); app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 注意,这只是一个简单的示例,实际应用中还需要进行参数校验、加密等操作,以确保安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值