基于JQuery的Ajax+JSON(全)

 

Asynchronous JavaScript And XML的缩写:异步的 JavaScript 和 XML AJAX

AJAX 不是新的编程语言,而是使用现有技术混合使用的一种新方法。ajax 中使用的技术有 JavaScript, html , dom , xml ,css 等。主要是 JavaScript , XML.异步加载,客户端和服务器的数据交互更新在局部⻚⾯的 技术,不需要刷新整个⻚⾯(局部刷新)

 优点: 1、局部刷新,效率更⾼ 2、⽤户体验更好

 先用一个例子来开篇吧(jsp发起请求,Servlet接收

我们先来从同步开始讲,再到异步

全局刷新

 

 

 此时浏览器只能显示result.jsp页面,其他用户什么都看不到

怎么才能局部刷新呢,这里就要用到JQuery封装的  AJAX

 

AJAX 不单需要前端的技术,同时需要后端(服务器)的配合。服务器需要提供数据,数据 是 AJAX 请求的响应结果。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值