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

怎么制作营销网站谁可以做网站优化排名推广

怎么制作营销网站,谁可以做网站优化排名推广,友情链接交换形式,万泉河网站建设在 JS 中怎么使用 Ajax 来进行请求发布时间#xff1a;2021-07-22 09:48:43来源#xff1a;亿速云阅读#xff1a;78作者#xff1a;chen本篇内容介绍了“在 JS 中怎么使用 Ajax 来进行请求”的有关知识#xff0c;在实际案例的操作过程中#xff0c;不少人都会遇到这样的…在 JS 中怎么使用 Ajax 来进行请求发布时间2021-07-22 09:48:43来源亿速云阅读78作者chen本篇内容介绍了“在 JS 中怎么使用 Ajax 来进行请求”的有关知识在实际案例的操作过程中不少人都会遇到这样的困境接下来就让小编带领大家学习一下如何处理这些情况吧希望大家仔细阅读能够学有所成1.AJAX术语AJAX 表示 异步的 JavaScript 和 XML。AJAX 在 JS  中用于发出异步网络请求来获取资源。当然不像名称所暗示的那样资源并不局限于XML还用于获取JSON、HTML或纯文本等资源。有多种方法可以发出网络请求并从服务器获取数据。我们将一一介绍。2.XMLHttpRequestXMLHttpRequest对象(简称XHR)在较早的时候用于从服务器异步检索数据。之所以使用XML是因为它首先用于检索XML数据。现在它也可以用来检索JSON, HTML或纯文本。事例 2.1: GETfunction success() {   var data  JSON.parse(this.responseText)   console.log(data) }  function error (err) {   console.log(Error Occurred:, err) }  var xhr  new XMLHttpRequest() xhr.onload  success xhr.onerror  error xhr.open(GET, https://jsonplaceholder.typicode.com/posts/1) xhr.send()我们看到要发出一个简单的GET请求需要两个侦听器来处理请求的成功和失败。我们还需要调用open()和send()方法。来自服务器的响应存储在responseText变量中该变量使用JSON.parse()转换为JavaScript  对象。function success() {     var data  JSON.parse(this.responseText);     console.log(data); }  function error(err) {     console.log(Error Occurred :, err); }  var xhr  new XMLHttpRequest(); xhr.onload  success; xhr.onerror  error; xhr.open(POST, https://jsonplaceholder.typicode.com/posts); xhr.setRequestHeader(Content-Type, application/json; charsetUTF-8); xhr.send(JSON.stringify({     title: foo,     body: bar,     userId: 1   }) );我们看到POST请求类似于GET请求。我们需要另外使用setRequestHeader设置请求标头“Content-Type”  并使用send方法中的JSON.stringify将JSON正文作为字符串发送。2.3 XMLHttpRequest vs Fetch早期的开发人员已经使用了好多年的 XMLHttpRequest来请求数据了。现代的fetch  API允许我们发出类似于XMLHttpRequest(XHR)的网络请求。主要区别在于fetch()API使用Promises它使  API更简单更简洁避免了回调地狱。3. Fetch APIFetch 是一个用于进行AJAX调用的原生 JavaScript API它得到了大多数浏览器的支持现在得到了广泛的应用。3.1 API用法fetch(url, options)     .then(response  {         // handle response data     })     .catch(err  {         // handle errors     });API参数fetch() API有两个参数1.url是必填参数它是您要获取的资源的路径。2.options是一个可选参数。不需要提供这个参数来发出简单的GET请求。method: GET | POST | PUT | DELETE | PATCHheaders: 请求头如 { “Content-type”: “application/json; charsetUTF-8” }mode: cors | no-cors | same-origin | navigatecache: default | reload | no-cachebody: 一般用于POST请求API返回Promise对象fetch() API返回一个promise对象。如果存在网络错误则将拒绝这会在.catch()块中处理。如果来自服务器的响应带有任何状态码(如200、404、500)则promise将被解析。响应对象可以在.then()块中处理。错误处理请注意对于成功的响应我们期望状态代码为200(正常状态)但是即使响应带有错误状态代码(例如404(未找到资源)和500(内部服务器错误))fetch()  API 的状态也是 resolved我们需要在.then() 块中显式地处理那些。我们可以在response 对象中看到HTTP状态HTTP状态码例如200。ok –布尔值如果HTTP状态代码为200-299则为true。3.3 示例GETconst getTodoItem  fetch(https://jsonplaceholder.typicode.com/todos/1)   .then(response  response.json())   .catch(err  console.error(err));  getTodoItem.then(response  console.log(response)); Response   { userId: 1, id: 1, title: delectus aut autem, completed: false }在上面的代码中需要注意两件事:fetch API返回一个promise对象我们可以将其分配给变量并稍后执行。我们还必须调用response.json()将响应对象转换为JSON错误处理我们来看看当HTTP GET请求抛出500错误时会发生什么fetch(http://httpstat.us/500) // this API throw 500 error   .then(response  ()  {     console.log(Inside first then block);     return response.json();   })   .then(json  console.log(Inside second then block, json))   .catch(err  console.error(Inside catch block:, err)); Inside first then block ➤ ⓧ Inside catch block: SyntaxError: Unexpected token I in JSON at position 4我们看到即使API抛出500错误它仍然会首先进入then()块在该块中它无法解析错误JSON并抛出catch()块捕获的错误。这意味着如果我们使用fetch()API则需要像这样显式地处理此类错误-fetch(http://httpstat.us/500)   .then(handleErrors)   .then(response  response.json())   .then(response  console.log(response))   .catch(err  console.error(Inside catch block:, err));  function handleErrors(response) {   if (!response.ok) { // throw error based on custom conditions on response       throw Error(response.statusText);   }   return response; }  ➤ Inside catch block: Error: Internal Server Error at handleErrors (Script snippet %239:9)3.3 示例POSTfetch(https://jsonplaceholder.typicode.com/todos, {     method: POST,     body: JSON.stringify({       completed: true,       title: new todo item,       userId: 1     }),     headers: {       Content-type: application/json; charsetUTF-8     }   })   .then(response  response.json())   .then(json  console.log(json))   .catch(err  console.log(err)) Response  ➤ {completed: true, title: new todo item, userId: 1, id: 201}在上面的代码中需要注意两件事:-POST请求类似于GET请求。我们还需要在fetch() API的第二个参数中发送methodbody 和headers 属性。我们必须需要使用 JSON.stringify() 将对象转成字符串请求body 参数4.Axios APIAxios API非常类似于fetch API只是做了一些改进。我个人更喜欢使用Axios API而不是fetch() API原因如下为GET 请求提供 axios.get()为 POST 请求提供 axios.post()等提供不同的方法这样使我们的代码更简洁。将响应代码(例如404、500)视为可以在catch()块中处理的错误因此我们无需显式处理这些错误。它提供了与IE11等旧浏览器的向后兼容性它将响应作为JSON对象返回因此我们无需进行任何解析4.1 示例GET// 在chrome控制台中引入脚本的方法  var script  document.createElement(script); script.type  text/javascript; script.src  https://unpkg.com/axios/dist/axios.min.js; document.head.appendChild(script); axios.get(https://jsonplaceholder.typicode.com/todos/1)   .then(response  console.log(response.data))   .catch(err  console.error(err)); Response  { userId: 1, id: 1, title: delectus aut autem, completed: false }我们可以看到我们直接使用response获得响应数据。数据没有任何解析对象不像fetch() API。错误处理axios.get(http://httpstat.us/500)   .then(response  console.log(response.data))   .catch(err  console.error(Inside catch block:, err)); Inside catch block: Error: Network Error我们看到500错误也被catch()块捕获不像fetch() API我们必须显式处理它们。4.2 示例POSTaxios.post(https://jsonplaceholder.typicode.com/todos, {       completed: true,       title: new todo item,       userId: 1   })   .then(response  console.log(response.data))   .catch(err  console.log(err))  {completed: true, title: new todo item, userId: 1, id: 201}我们看到POST方法非常简短可以直接传递请求主体参数这与fetch()API不同。“在 JS 中怎么使用 Ajax 来进行请求”的内容就介绍到这里了感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站小编将为大家输出更多高质量的实用文章
http://wiki.neutronadmin.com/news/434759/

相关文章:

  • 广州站停运最新消息新手自己做网站
  • 金环建设集团有限公司官方网站宜都网站建设
  • 竞价广告网站建设优化公司呼和浩特
  • 做一个网站能挣多少钱php wordpress
  • 郑州公司网站建设网站关键词不稳定
  • 网站设计自学福州免费做网站
  • 网站的搜索功能一般怎么做查询网入口
  • 岳阳做网站哪家好mvc5网站开发之美
  • 珠海网站建设方案开发南昌网站空间
  • 网站常见错误局域网网站怎么做
  • 钱建网站杭州义牛网络技术有限公司
  • 温州网站提升排名免费分类信息网站大全
  • 深圳网站公司招聘信息公司网络监控
  • 网站搜索引擎推广方案桂林临桂区建设局网站
  • dw怎么做班级网站做网站数据库有哪些
  • 南宁网站建设策划方案网站到期不续费
  • 广西壮锦网站建设策划书中企动力科技股份有限公司待遇
  • 杭州营销型网站建设工作室美团这个网站多少钱做的
  • 哪个网站做简历免费怎么建立网站链接
  • 怎么样把网站做火临沂网站制作报价
  • 英文网站建设注意事项php网站空间支持
  • 电脑网站建设方案编写软件
  • 深圳营销网站建设公司排名wordpress 纯代码seo
  • 广东网站设计流程做网站多少钱_西宁君博优选
  • jsp网站开发教程网站建设评比细则
  • 网站注册流程和费用广州最新发布最新
  • 南阳高质量建设大市网站西凤酒网站建设的基本情况
  • wordpress exploit scanner深圳网络seo推广
  • 阿里巴巴怎么建设网站智慧团建官网手机版登录
  • 南京华佑千家装饰工程有限公司网站优化找谁