jQuery AJAX
- 修改 server.js 文件
//1.引入express const express = require('express'); //2.创建应用对象 const app = express(); //3.创建路由规则 //requset是对请求报文的封装 //response是对相应报文的封装 app.get('/server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 设置响应体 response.send('HELLO AJAX GET') }); // all可以接受任意类型的请求 app.all('/server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 响应头 response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受 // 设置响应体 response.send('HELLO AJAX POST') }); app.all('/json-server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 响应头 response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受 // 响应一个数据 const data = { name: 'HELLO AJAX JSON2' } //对对象进行字符串转换 let str = JSON.stringify(data) // 设置响应体 response.send(str) }); // 针对 IE 缓存 app.get('/ie', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 // 设置响应体 response.send('HELLO AJAX IE') }); // 延时响应 app.all('/delay', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 response.setHeader('Access-Control-Allow-Headers','*') setTimeout(() => { // 设置响应体 response.send('HELLO AJAX 延时响应') },1000) }); // jQuery 服务 app.all('/jquery-server', (request, response)=>{ // 设置响应头 设置允许跨域 response.setHeader('Access-Control-Allow-Origin','*') //名字,值 response.setHeader('Access-Control-Allow-Headers','*') // 设置响应体 const data = {name:'HELLO jQuery JSON AJAX!'} // response.send('HELLO jQuery AJAX!') response.send(JSON.stringify(data)) }); //4.监听端口启动服务 app.listen(8000, ()=>{ console.log("服务已经启动,8000 端口监听中..."); })
- 创建 client.html 文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>jQuery 发送 AJAX 请求</title> <link crossorigin="anonymous" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap-theme.css" rel="stylesheet"> <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script> </head> <body> <div class="container"> <h2 class="page-header">jQuery发送AJAX请求</h2> <button class="btn btn-primary">GET</button> <button class="btn btn-danger">POST</button> <button class="btn btn-info">通用型方法ajax</button> </div> <script> $('button').eq(0).click(function(){ $.get('http://127.0.0.1:8000/jquery-server',{a:100, b:200}, function(data){ console.log(data); },'json') //加 json 输出对象 json为响应体类型(json格式数据) }) $('button').eq(1).click(function(){ $.post('http://127.0.0.1:8000/jquery-server',{a:100, b:200}, function(data){ console.log(data); }) //不加 json,输出字符串 }) $('button').eq(2).click(function(){ $.ajax({ // url /delay 测试延迟 url: 'http://127.0.0.1:8000/jquery-server', // 参数 data:{a:100, b:200}, // 请求类型 type: 'GET', // 响应体结果 dataType: 'json', // 成功的回调 success: function(data){ console.log(data); }, // 超时时间 timeout: 2000, // 失败的回调 error: function(){ console.log('出错啦!!'); }, // 头信息 headers:{ c:300, d:400 } }) }) </script> </body> </html>
不积跬步无以至千里 不积小流无以成江海