当前位置: 首页 > news >正文

在百度怎样建网站qq免费注册网站

在百度怎样建网站,qq免费注册网站,东莞市网站建设怎么样,网站自动推广软件第 1 章#xff1a;原生 AJAX 1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML#xff0c;就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求#xff0c; 最大的优势#xff1a;无刷新获取数据。 AJAX 不是新的编程语言#xff0c;而是…第 1 章原生 AJAX 1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML就是异步的 JS 和 XML。 通过 AJAX 可以在浏览器中向服务器发送异步请求 最大的优势无刷新获取数据。 AJAX 不是新的编程语言而是一种将现有的标准组合在一起使用的新方式。 1.2 XML 简介 XML 可扩展标记语言。 XML 被设计用来传输和存储数据。 XML 和 HTML 类似不同的是 HTML 中都是预定义标签而 XML 中没有预定义标签 全都是自定义标签用来表示一些数据. 比如说我有一个学生数据 name 孙悟空 ; age 18 ; gender 男 ; 用 XML 表示 student name孙悟空/name age18/age gender男/gender /student现在已经被 JSON 取代了。 1.3 AJAX 的特点 1.3.1 AJAX 的优点 可以无需刷新页面而与服务器端进行通信。允许你根据用户事件来更新部分页面内容。 1.3.2 AJAX 的缺点 没有浏览历史不能回退存在跨域问题(同源)SEO 不友好 1.4 AJAX 的使用 1.4.1 核心对象 XMLHttpRequestAJAX 的所有操作都是通过该对象进行的。 1.4.2 使用步骤 创建 XMLHttpRequest 对象 var xhr new XMLHttpRequest();设置请求信息 xhr.open(method, url); //可以设置请求头一般不设置 xhr.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’);发送请求 xhr.send(body) //get 请求不传 body 参数只有 post 请求使用接收响应 //xhr.responseXML 接收 xml 格式的响应数据 //xhr.responseText 接收文本格式的响应数据 xhr.onreadystatechange function (){ if(xhr.readyState 4 xhr.status 200){ var text xhr.responseText; console.log(text); } }1.4.3 解决 IE 缓存问题 问题在一些浏览器中(IE),由于缓存机制的存在ajax 只会发送的第一次请求剩余多次请求不会在发送给浏览器而是直接加载缓存中的数据。 解决方式浏览器的缓存是根据 url 地址来记录的所以我们只需要修改 url 地址 即可避免缓存问题 xhr.open(get,/testAJAX?tDate.now());1.4.4 AJAX 请求状态 xhr.readyState 可以用来查看请求当前的状态 0: 表示 XMLHttpRequest 实例已经生成但是 open()方法还没有被调用。 1: 表示 send()方法还没有被调用仍然可以使用 setRequestHeader()设定 HTTP请求的头信息。 2: 表示 send()方法已经执行并且头信息和状态码已经收到。 3: 表示正在接收服务器传来的 body 部分的数据。 4: 表示服务器数据已经完全接收或者本次接收已经失败了 代码演示 1. ajax发送GET请求 get.html: !DOCTYPE html htmlheadmeta charsetutf-8titleAJAX GET 请求/titlestyle typetext/css#result {width: 200px;height: 100px;border: 1px solid pink;}/style/headbodybutton点击发送请求/buttondiv idresult/divscript// 获取button元素const btn document.getElementsByTagName(button)[0];const result document.getElementById(result);// 绑定事件btn.onclick function() {// 1.创建对象const xhr new XMLHttpRequest();// 2.初始化 设置请求方法 和 urlxhr.open(GET, http://127.0.0.1:8000/server?a100b200);// 3.发送xhr.send();// 4.事件绑定处理服务端返回的结果xhr.onreadystatechange function() {// 判断 (服务端返回了所有的结果)if (xhr.readyState 4) {// 判断响应状态码 200 404 403 500if (xhr.status 200 xhr.status 300) {// 处理服务端响应结果 行 头 空行 体// 1.响应行console.log(xhr.status); // 状态码console.log(xhr.statusText); // 状态状态字符串console.log(xhr.getAllResponseHeaders()); // 所有的响应头信息console.log(xhr.response); // 响应体信息 // 设置result的文本 result.innerHTML xhr.response;} else {}}}}/script/body /html server.js: // 1. 引入express const express require(express)// 2. 创建应用对象 const app express()// 3. 创建路由规则 app.get(/server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// response.header(Access-Control-Allow-Headers, Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild);// 设置响应体response.send(hello ajax) })// 4. 监听端口 启动服务 app.listen(8000, () {console.log(服务已经启动8000端口监听中...) })2. ajax发送POST请求 server.js : // 1. 引入express const express require(express)// 2. 创建应用对象 const app express()// 3. 创建路由规则 app.get(/server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// response.header(Access-Control-Allow-Headers, Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild);// 设置响应体response.send(hello ajax) })app.post(/server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// response.header(Access-Control-Allow-Headers, Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild);// 设置响应体response.send(hello ajax post) })// 4. 监听端口 启动服务 app.listen(8000, () {console.log(服务已经启动8000端口监听中...) })post.html: !DOCTYPE html htmlheadmeta charsetutf-8titleAJAX POST 请求/titlestyle typetext/css#result {width: 200px;height: 100px;border: 1px solid pink;}/style/headbodyp当鼠标悬浮在div上时发送请求/pdiv idresult/divscriptconst result document.getElementById(result);// 绑定事件result.addEventListener(mouseover, function() {// console.log(test)// 1. 创建对象const xhr new XMLHttpRequest();// 2. 初始化 设置请求类型 和 urlxhr.open(POST, http://127.0.0.1:8000/server)// 3. 发送xhr.send(aaa100bbb200)// 4. 事件绑定xhr.onreadystatechange function() {// 判断if(xhr.readyState 4) {if(xhr.status 200 xhr.status 300) {// 处理服务器返回的结果result.innerHTML xhr.response} else {}}}}) /script/body /html ajax服务端响应json数据 json.html: !DOCTYPE html htmlheadmeta charsetutf-8titleJSON/titlestyle typetext/css#result {width: 200px;height: 100px;border: 1px solid pink;}/style/headbodyp当按下键盘时发送请求/pdiv idresult/divscriptconst result document.getElementById(result);// 绑定键盘按下事件window.onkeydown function () {// console.log(test)// 发送请求const xhr new XMLHttpRequest();// 设置响应体数据类型xhr.responseType json// 初始化xhr.open(GET, http://127.0.0.1:8000/json-server)// 发送xhr.send()// 事件绑定xhr.onreadystatechange function () {if(xhr.readyState 4) {if(xhr.status 200 xhr.status300) {// 处理服务端返回结果// console.log(xhr.response)// result.innerHTML xhr.response// 手动对服务器返回的数据进行转化/* let data JSON.parse(xhr.response)console.log(data)result.innerHTML data.name */// 自动转换 通过设置响应体数据类型xhr.responseType jsonconsole.log(xhr.response)result.innerHTML xhr.response.name}}}}/script/body /html server.js: // 1. 引入express const express require(express)// 2. 创建应用对象 const app express()// 3. 创建路由规则 app.get(/server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// 设置响应体response.send(hello ajax) })// all 可以接收任意类型的请求 app.all(/server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// 允许前端post请求 自定义请求头名称response.header(Access-Control-Allow-Headers, *);// 设置响应体response.send(hello ajax post) })app.all(/json-server, (request, response) {// 设置响应头 设置允许跨域response.setHeader(Access-Control-Allow-Origin, *)// 允许前端post请求 自定义请求头名称response.header(Access-Control-Allow-Headers, *);// 响应一个数据const data {name: zep};// 对 对象进行字符串转换let str JSON.stringify(data)// 设置响应体,send方法只接收字符串类型的参数response.send(str) })// 4. 监听端口 启动服务 app.listen(8000, () {console.log(服务已经启动8000端口监听中...) })手动对服务端返回的字符串数据进行转换把字符串转成对象 自动转换通过设置响应体数据类型xhr.responseType ‘json’
http://www.yutouwan.com/news/270907/

相关文章:

  • 网络设计山西分公司东莞网络排名优化
  • 撤销网站备案申请书免费域名注册流程
  • 网站专题活动策划方案中国智慧团建网站
  • 网站建设论文的摘要做网站运营买什么电脑
  • 做网站编辑要有逻辑吗重庆垫江网站建设
  • 哈尔滨网络公司网站建设哈尔滨做网站搭建的
  • win2003怎么做网站wordpress主题权限
  • 做宠物网站百度一下百度主页度
  • 深圳市宝安区住房和建设局网站深圳视频seo
  • 长春哪有做网站公司天津网站推广外包
  • 工业设计网站知乎为什么做的网站搜不出来
  • 江苏弘盛建设工程集团有限公司网站网站如何做导航
  • 商城网站建设需要什么团队外贸电商网站开发价格
  • 专业做网站设计做网站天通苑
  • 菜谱网站模版四川省建设厅证书查询
  • 临沭县建设局官方网站网站建设推广行业
  • 做国际贸易如何建网站营销型网站图片
  • 药店网站建设相关费用代刷网可以做网站地图
  • 网站推广的方法和技巧手机优化大师怎么退款
  • 做课件挣钱的网站南通网站建设推广专家
  • 网站维护升级访问邢台柏乡县建设局网站
  • 花店网站设计小熊代刷推广网站
  • 做调查赚钱的网站有哪些网站要背代码?
  • 服务器搭建网站搜索引擎优化特点
  • 做网站支付系统难度佛山网站建设凤软
  • 广东网站建设英铭科技企业网站建设方案百度文库
  • 迁安网站建设公司网站建设咨询公
  • 网站干什么的品牌策划是做什么的
  • 网站运营公司广州互邦物流网络优化建站
  • seo建站淘客免费logo设计生成器在线制作