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

中小企业网站建设教程seo网络推广是干嘛的

中小企业网站建设教程,seo网络推广是干嘛的,北京网站假设,wordpress 在线播放什么是Polyfill? Polyfill是一个js库,主要抚平不同浏览器之间对js实现的差异。比如,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。Polyfill(Polyfill有很多,在Gi…

什么是Polyfill?

Polyfill是一个js库,主要抚平不同浏览器之间对js实现的差异。比如,html5storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。PolyfillPolyfill有很多,在GitHub上https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills),帮你把这些差异化抹平,不支持的变得支持了(典型做法是在IE浏览器中增加 window.XMLHttpRequest ,内部实现使用 ActiveXObject。)

提到Polyfill,不得不提shim。        polyfillshim的一种。
shim是将不同 api封装成一种,比如 jQuery$.ajax 封装了 XMLHttpRequestIEActiveXObject方式创建xhr对象。它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现。

XMLHttpRequest是一个设计粗糙的API,配置和调用方式非常混乱,而且基于事件的异步模型,写起来不友好,容易掉入回调地狱中。

W3C新标准出来后,给了我们一个新的通道Fetch,Fetch取代了XMLHttpRequest,它是集成在浏览器标准里面的,所以它就是嫡系,它虽然是嫡系,但是它的兼容性不是很好,也没有第三方库:axios好用,所以用它比较少

(局部页面刷新技术没有改变,只是说一前做异步的时候用XMLHttpRequest来实现,现在我们可以用Fetch来实现,Fetch是基于polyfill的)

Fetch是浏览器自带的,无需再次引入其他的插件包了。

//Get请求
fetch("http://localhost:8080/users").then(res => res.json()) //这里和获取到的不是返回值,只是设定返回的数据类型,如果服务端返回的是Json那么这里就res.json(),如果服务端返回的是文本,那么这里就res.text().then(res => {console.log(res); //这里才是返回具体数据})//Post请求
fetch("http://localhost:8080/users", { method: 'post', headers: { "content-type": "application/json", body: JSON.stringify({ username: "张三", age: 18 }) } }).then(res => res.json()) //这里和获取到的不是返回值,只是设定返回的数据类型,如果服务端返回的是Json那么这里就res.json(),如果服务端返回的是文本,那么这里就res.text().then(res => {console.log(res); //这里才是返回具体数据})//Post请求
fetch("http://localhost:8080/users", { method: 'post', headers: { "content-type": "application/x-www-formurlencoded", body: "name=王五&age=20" } }).then(res => res.json()) //这里和获取到的不是返回值,只是设定返回的数据类型,如果服务端返回的是Json那么这里就res.json(),如果服务端返回的是文本,那么这里就res.text().then(res => {console.log(res); //这里才是返回具体数据})//Put请求
fetch("http://localhost:8080/users", { method: 'put', headers: { "content-type": "application/json", body: JSON.stringify({ username: "张三", age: 18 }) } }).then(res => res.json()) //这里和获取到的不是返回值,只是设定返回的数据类型,如果服务端返回的是Json那么这里就res.json(),如果服务端返回的是文本,那么这里就res.text().then(res => {console.log(res); //这里才是返回具体数据})//Delete请求
fetch("http://localhost:8080/users/5", { method: 'post', headers: { "content-type": "application/json", body: JSON.stringify({ username: "张三", age: 19 }) } }).then(res => res.json()) //这里和获取到的不是返回值,只是设定返回的数据类型,如果服务端返回的是Json那么这里就res.json(),如果服务端返回的是文本,那么这里就res.text().then(res => {console.log(res); //这里才是返回具体数据})

axios:因为axios是第三方库,所以需要引入包

参考文档:axios介绍与使用说明 axios中文文档-腾讯云开发者社区-腾讯云 (tencent.com)

//完整写法
//你可以根据你的需求选择不同的 responseType 类型,以便更好地处理响应数据。
//responseType:'json':会自动解析响应数据并返回一个 JavaScript 对象。它为默认值。
//responseType:'arraybuffer':返回一个 ArrayBuffer 对象,适用于处理二进制数据。
//responseType:'blob' :返回一个 Blob 对象,适用于处理图像等二进制数据。
//responseType:'document' :返回一个 Document 对象,适用于处理 HTML/XML 数据。
//responseType:'text':返回一个字符串,适用于处理纯文本数据。
//responseType:'stream':返回一个stream。axios({baseURL: "http://localhost:8080",// baseURL 将自动加在 url 前面,除非 url 是一个绝对 URL。method: 'post', //get,post,put,deleteurl: '/users',responseType: 'stream',//响应类型:timeout: 1000, // `timeout` 指定请求超时的毫秒数(0 表示无超时时间)如果请求话费了超过 `timeout` 的时间,请求将被中断withCredentials: false, // 表示跨域请求时是否需要使用凭证,默认为false:maxContentLength: 2000, // 定义允许的响应内容的最大尺寸,headers: { "X-Requested-With": "XMLHttpRequest" }, //即将被发送的自定义请求头// transformRequest 允许在向服务器发送前,修改请求数据// 只能用在 "PUT", "POST" 和 "PATCH" 这几个请求方法// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 StreamtransformRequest: [function (data) {// 对 data 进行任意转换处理return data;}],//transformResponse表示:在传递给 then/catch 前,允许修改响应数据transformResponse: [function (data) {//对 data 进行任意转换处理return data;}],// params 是即将与请求一起发送的 URL 参数// 必须是一个无格式对象(plain object)或 URLSearchParams 对象params: {ID: 12345},// data 是作为请求主体被发送的数据// 只适用于这些请求方法 "PUT", "POST", 和 "PATCH"// 在没有设置 `transformRequest` 时,必须是以下类型之一:// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams// - 浏览器专属:FormData, File, Blob// - Node 专属: Streamdata: {name: '黎明',age: 25},// auth 表示应该使用 HTTP 基础验证,并提供凭据// 这将设置一个 `Authorization` 头,覆写掉现有的任意使用 `headers` 设置的自定义 `Authorization`头auth: {username: "janedoe",password: "s00pers3cret"},// `xsrfCookieName` 是用作 xsrf token 的值的cookie的名称xsrfCookieName: "XSRF-TOKEN", // default// `xsrfHeaderName` 是承载 xsrf token 的值的 HTTP 头的名称xsrfHeaderName: "X-XSRF-TOKEN", // 默认的// `onUploadProgress` 允许为上传处理进度事件onUploadProgress: function (progressEvent) {// 对原生进度事件的处理},// `onDownloadProgress` 允许为下载处理进度事件onDownloadProgress: function (progressEvent) {// 对原生进度事件的处理},// `maxContentLength` 定义允许的响应内容的最大尺寸maxContentLength: 2000,// `validateStatus` 定义对于给定的HTTP 响应状态码是 resolve 或 reject  promise 。如果 `validateStatus` 返回 `true` (或者设置为 `null` 或 `undefined`),promise 将被 resolve; 否则,promise 将被 rejectevalidateStatus: function (status) {return status >= 200 & status < 300; // 默认的},// `maxRedirects` 定义在 node.js 中 follow 的最大重定向数目// 如果设置为0,将不会 follow 任何重定向maxRedirects: 5, // 默认的// `httpAgent` 和 `httpsAgent` 分别在 node.js 中用于定义在执行 http 和 https 时使用的自定义代理。允许像这样配置选项:// `keepAlive` 默认没有启用httpAgent: new http.Agent({ keepAlive: true }),httpsAgent: new https.Agent({ keepAlive: true }),// "proxy" 定义代理服务器的主机名称和端口// `auth` 表示 HTTP 基础验证应当用于连接代理,并提供凭据// 这将会设置一个 `Proxy-Authorization` 头,覆写掉已有的通过使用 `header` 设置的自定义 `Proxy-Authorization` 头。proxy: {host: "127.0.0.1",port: 9000,auth: {username: "mikeymike",password: "rapunz3l"}},// `cancelToken` 指定用于取消请求的 cancel token// (查看后面的 Cancellation 这节了解更多)cancelToken: new CancelToken(function (cancel) {})}).then(res => console.log(res.data)).catch(err => console.log(err));//简写
axios.get("http://localhost:8080/users").then(res => console.log(res.data)).catch(err => console.log(err));axios.get("http://localhost:8080/users", { params: { name: "张三" } }).then(res => console.log(res.data)).catch(err => console.log(err));// post-json
axios.post("http://localhost:8080/users", { name: "张三", age: 21 }).then(res => console.log(res.data)).catch(err => console.log(err));// post-form
axios.post("http://localhost:8080/users", "name=张三&age=21").then(res => console.log(res.data)).catch(err => console.log(err));axios.post("http://localhost:8080/users/5", { name: "张三", age: 21 }).then(res => console.log(res.data)).catch(err => console.log(err));axios.delete("http://localhost:8080/users/5").then(res => console.log(res.data)).catch(err => console.log(err));

axios请求的响应包含以下信息:

{// `data` 由服务器提供的响应data: {},// `status`  HTTP 状态码status: 200,// `statusText` 来自服务器响应的 HTTP 状态信息statusText: "OK",// `headers` 服务器响应的头headers: {},// `config` 是为请求提供的配置信息config: {}
}

axios请求的响应包含以下信息:

axios.get("/user/12345").then(function(response) {console.log(response.data);console.log(response.status);console.log(response.statusText);console.log(response.headers);console.log(response.config);});

http://www.yidumall.com/news/40468.html

相关文章:

  • 在线做爰a视频网站南宁网站seo
  • 高端网站建设 飞沐seo排名优化软件有
  • 济南网站建设那家好怎样创建网站平台
  • 营销型网站建设宣传语外贸网站建设报价
  • 那些公司做网站比较厉害以图搜图百度识图网页版
  • 苏州相城做网站的引流推广神器
  • 网站备案 域名证书百度上做推广怎么做
  • 第一个做装修的网站公司网页制作模板
  • 西安模板做网站在线种子资源库
  • 有哪些可以做问卷的网站办理培训机构需要具备的条件
  • 做网站的程序员工资大约月薪seo技术教程
  • 网站如何做关键词引流常德seo公司
  • 富锦网站制作中国搜索引擎大全
  • 做网站爱重庆网站关键词排名优化
  • 微信二维码制作小程序seo外链友情链接
  • 怎样围绕网站专题发展来做ppt短视频seo关键词
  • 近一周的热点新闻百度seo优化分析
  • 基于java技术的网站开发外链大全
  • 广州网站设计费用营销伎巧第一季
  • 商城网站设计说明书网络媒体推广产品
  • 政府网站建设的指导意见凡科网站登录入口
  • 哔哩哔哩网站分析广东近期新闻
  • 煎蛋网站用什么做的私人浏览器
  • 网站做短视频业务许可浙江百度代理公司
  • 无锡阿凡达建设天津seo推广软件
  • 东莞做公众号的网站网站seo技术
  • 世纪佳缘网站开发语言网络营销案例有哪些
  • 帮网站做推广赚钱吗百度推广代理公司广州
  • 网站获取qq号码 原理2022好用值得推荐的搜索引擎
  • 强企网做网站双11各大电商平台销售数据