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

网站建设的投资预算怎么写企业网站设计方式

网站建设的投资预算怎么写,企业网站设计方式,虚拟主机+wordpress,wordpress 自定义字体文章目录 Ajax 核心知识点全面总结一、Ajax 基础概念1、定义2、核心特点 二、Ajax 工作原理与核心组件1、工作流程2、XMLHttpRequest#xff08;XHR#xff09;对象 三、Ajax 请求方法与参数1、常见请求方法2、请求参数处理 四、Ajax 异步与错误处理1、异步处理2、错误处理 五… 文章目录 Ajax 核心知识点全面总结一、Ajax 基础概念1、定义2、核心特点 二、Ajax 工作原理与核心组件1、工作流程2、XMLHttpRequestXHR对象 三、Ajax 请求方法与参数1、常见请求方法2、请求参数处理 四、Ajax 异步与错误处理1、异步处理2、错误处理 五、跨域资源共享CORS与解决方案1、跨域问题2、解决方案 六、Ajax 与现代替代方案1、Fetch APIES62、Axios第三方库 七、Ajax 最佳实践与性能优化八、Ajax 安全性考虑九、经典 Ajax 示例原生 JavaScript十、Ajax 封装全局 API Ajax 核心知识点全面总结 一、Ajax 基础概念 1、定义 AjaxAsynchronous JavaScript and XML是一种 无需重新加载整个网页即可通过 JavaScript 与服务器异步交换数据的技术用于创建更流畅、响应更快的 Web 应用。 2、核心特点 异步通信客户端与服务器通信时不阻塞页面渲染用户可继续交互。数据驱动更新仅更新页面部分内容减少带宽消耗。多技术融合结合 JavaScript、XML或 JSON、HTML/CSS 等技术。 二、Ajax 工作原理与核心组件 1、工作流程 客户端通过 JavaScript 发起请求浏览器创建 XMLHttpRequestXHR 对象与服务器通信服务器处理请求并返回数据XML、JSON 等JavaScript 接收数据并更新页面 DOM。 2、XMLHttpRequestXHR对象 创建方式const xhr new XMLHttpRequest(); 关键方法 open(method, url, async)设置请求方法、URL 和异步模式默认 true。send(data)发送请求data 为请求体GET 请求时可为 null。abort()取消请求。 关键属性 readyState请求状态0 - 未初始化1 - 已调用 open2 - 已接收响应头3 - 处理中4 - 请求完成。statusHTTP 状态码如 200 成功404 未找到。responseText/responseXML返回的文本 / XML 数据。 事件监听 onreadystatechange状态变化时触发常用于检查 readyState 4 且 status 200。 三、Ajax 请求方法与参数 1、常见请求方法 方法用途特点GET获取资源参数附在 URL 后如 ?keyvalue有长度限制浏览器会缓存。POST提交数据参数在请求体中无长度限制不会缓存。DELETE删除资源删除指定资源需服务器支持。PUT更新资源覆盖式更新需服务器支持。 2、请求参数处理 GET 请求url ?param1value1param2value2POST 请求需设置请求头 Content-Type如 xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded); xhr.send(param1value1param2value2);或发送 JSON 数据 xhr.setRequestHeader(Content-Type, application/json); xhr.send(JSON.stringify({ param1: value1, param2: value2 }));四、Ajax 异步与错误处理 1、异步处理 传统回调通过 onreadystatechange 监听请求完成。Promise 封装现代方式 function fetchData(url) {return new Promise((resolve, reject) {const xhr new XMLHttpRequest();xhr.open(GET, url);xhr.onload () resolve(xhr.response);xhr.onerror () reject(new Error(请求失败));xhr.send();}); }2、错误处理 onerror 事件处理网络错误如服务器不可达。状态码判断 if (xhr.status 200 xhr.status 300) {// 成功处理 } else {// 错误处理如 404、500 等 }五、跨域资源共享CORS与解决方案 1、跨域问题 同源策略限制浏览器禁止不同域名协议、域名、端口任一不同的请求交互。常见错误Access-Control-Allow-Origin 缺失。 2、解决方案 服务器配置 CORS在响应头中添加 Access-Control-Allow-Origin: * 允许所有域名生产环境建议指定域名 Access-Control-Allow-Methods: GET, POST, PUT代理服务器前端请求本地代理由代理转发至目标服务器如 Node.js 中间件。JSONP利用 script 标签跨域特性仅支持 GET 请求 function loadScript(url, callback) {const script document.createElement(script);script.src url ?callback${callback.name};window[callback.name] callback;document.body.appendChild(script); }六、Ajax 与现代替代方案 1、Fetch APIES6 优点更简洁的 Promise 接口支持流式响应。示例 fetch(https://api.example.com/data).then(response response.json()).then(data console.log(data)).catch(error console.error(error));2、Axios第三方库 优点支持 Promise、请求 / 响应拦截、自动转换 JSON、浏览器与 Node 通用。 axios.get(https://api.example.com/data).then(response console.log(response.data)).catch(error console.error(error));七、Ajax 最佳实践与性能优化 请求优化 合并多个小请求为大请求减少 HTTP 连接开销。使用 GET 请求缓存数据设置 Cache-Control 头。 防抖与节流避免频繁请求如搜索联想功能。 超时处理设置 xhr.timeout 和 ontimeout 事件。 请求取消使用 AbortControllerFetch API或 xhr.abort()。 八、Ajax 安全性考虑 XSS跨站脚本攻击对用户输入数据进行转义避免直接插入 DOM。CSRF跨站请求伪造使用 token 验证请求来源或设置 SameSite cookie。敏感数据传输使用 HTTPS 加密通信。 九、经典 Ajax 示例原生 JavaScript // 发送 GET 请求 const xhr new XMLHttpRequest(); xhr.open(GET, https://api.example.com/users, true); xhr.onreadystatechange function() {if (xhr.readyState 4 xhr.status 200) {const users JSON.parse(xhr.responseText);document.getElementById(users-list).innerHTML users.map(user li${user.name}/li).join();} }; xhr.send();// 发送 POST 请求 const xhrPost new XMLHttpRequest(); xhrPost.open(POST, https://api.example.com/login, true); xhrPost.setRequestHeader(Content-Type, application/json); xhrPost.onload function() {if (xhrPost.status 200) {alert(登录成功);} }; xhrPost.send(JSON.stringify({ username: user, password: pass }));十、Ajax 封装全局 API /*** 通用 AJAX 请求工具* 封装了 GET、POST、PUT、DELETE 等常用 HTTP 请求方法*/ const HttpUtils {/*** 发送 GET 请求* param {string} url - 请求URL* param {Object} params - 请求参数* param {Object} options - 额外配置选项* returns {PromiseObject} - 返回Promise对象*/get(url, params {}, options {}) {return this.request(GET, url, params, null, options);},/*** 发送 POST 请求* param {string} url - 请求URL* param {Object} data - 请求数据* param {Object} options - 额外配置选项* returns {PromiseObject} - 返回Promise对象*/post(url, data {}, options {}) {return this.request(POST, url, {}, data, options);},/*** 发送 PUT 请求* param {string} url - 请求URL* param {Object} data - 请求数据* param {Object} options - 额外配置选项* returns {PromiseObject} - 返回Promise对象*/put(url, data {}, options {}) {return this.request(PUT, url, {}, data, options);},/*** 发送 DELETE 请求* param {string} url - 请求URL* param {Object} params - 请求参数* param {Object} options - 额外配置选项* returns {PromiseObject} - 返回Promise对象*/delete(url, params {}, options {}) {return this.request(DELETE, url, params, null, options);},/*** 发送 HTTP 请求* param {string} method - HTTP方法* param {string} url - 请求URL* param {Object} params - 请求参数* param {Object} data - 请求数据* param {Object} options - 额外配置选项* returns {PromiseObject} - 返回Promise对象*/request(method, url, params, data, options) {// 处理URL参数if (params Object.keys(params).length 0) {const queryString Object.entries(params).map(([key, value]) ${encodeURIComponent(key)}${encodeURIComponent(value)}).join();url (url.includes(?) ? : ?) queryString;}// 创建基础配置const config {method,headers: {Content-Type: application/json,...options.headers},credentials: options.credentials || same-origin,...options};// 添加请求体if (data (method POST || method PUT)) {config.body JSON.stringify(data);}// 返回Promise对象return new Promise((resolve, reject) {fetch(url, config).then(response {// 检查HTTP状态码if (!response.ok) {throw new Error(HTTP error! Status: ${response.status});}// 根据Content-Type解析响应const contentType response.headers.get(Content-Type);if (contentType contentType.includes(application/json)) {return response.json();} else if (contentType contentType.includes(text/)) {return response.text();} else {return response.blob();}}).then(result resolve(result)).catch(error {console.error(Request failed:, error);reject(error);});});} };export default HttpUtils; 以上代码封装了常用的 AJAX 请求方法支持 GET、POST、PUT、DELETE 四种 HTTP 方法。该工具使用原生的 Fetch API 实现返回 Promise 对象以便于使用 async/await 语法。主要特点 支持请求参数自动序列化自动处理响应内容类型解析JSON、文本、二进制统一的错误处理机制支持自定义请求头和其他配置选项 在你的项目中可以将此文件保存为 http-utils.js然后通过 import 语句在需要的地方引入使用例如 import HttpUtils from ./http-utils.js;// 使用示例 async function fetchData() {try {// GET 请求示例const result await HttpUtils.get(/api/users, { page: 1, size: 10 });console.log(GET 请求结果:, result);// POST 请求示例const newUser { name: John, age: 30 };const createResult await HttpUtils.post(/api/users, newUser);console.log(POST 请求结果:, createResult);} catch (error) {console.error(请求出错:, error);} }
文章转载自:
http://www.morning.fkwp.cn.gov.cn.fkwp.cn
http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn
http://www.morning.rqkck.cn.gov.cn.rqkck.cn
http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn
http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn
http://www.morning.zgztn.cn.gov.cn.zgztn.cn
http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn
http://www.morning.qttg.cn.gov.cn.qttg.cn
http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn
http://www.morning.lveyue.com.gov.cn.lveyue.com
http://www.morning.chjnb.cn.gov.cn.chjnb.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.sftrt.cn.gov.cn.sftrt.cn
http://www.morning.cmzcp.cn.gov.cn.cmzcp.cn
http://www.morning.sskns.cn.gov.cn.sskns.cn
http://www.morning.bnpn.cn.gov.cn.bnpn.cn
http://www.morning.bxczt.cn.gov.cn.bxczt.cn
http://www.morning.xdhcr.cn.gov.cn.xdhcr.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn
http://www.morning.zckhn.cn.gov.cn.zckhn.cn
http://www.morning.clbsd.cn.gov.cn.clbsd.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn
http://www.morning.rhkq.cn.gov.cn.rhkq.cn
http://www.morning.youprogrammer.cn.gov.cn.youprogrammer.cn
http://www.morning.niukaji.com.gov.cn.niukaji.com
http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn
http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn
http://www.morning.trnhy.cn.gov.cn.trnhy.cn
http://www.morning.rgwrl.cn.gov.cn.rgwrl.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.bmfqg.cn.gov.cn.bmfqg.cn
http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.morning.mqfhy.cn.gov.cn.mqfhy.cn
http://www.morning.hwtb.cn.gov.cn.hwtb.cn
http://www.morning.webife.com.gov.cn.webife.com
http://www.morning.dlrsjc.com.gov.cn.dlrsjc.com
http://www.morning.mrpqg.cn.gov.cn.mrpqg.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn
http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn
http://www.morning.npmpn.cn.gov.cn.npmpn.cn
http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn
http://www.morning.wpspf.cn.gov.cn.wpspf.cn
http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn
http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn
http://www.morning.dyght.cn.gov.cn.dyght.cn
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn
http://www.morning.rybr.cn.gov.cn.rybr.cn
http://www.morning.cndxl.cn.gov.cn.cndxl.cn
http://www.morning.ymyhg.cn.gov.cn.ymyhg.cn
http://www.morning.geledi.com.gov.cn.geledi.com
http://www.morning.rhdln.cn.gov.cn.rhdln.cn
http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn
http://www.morning.lqws.cn.gov.cn.lqws.cn
http://www.morning.brlgf.cn.gov.cn.brlgf.cn
http://www.morning.rcrfz.cn.gov.cn.rcrfz.cn
http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn
http://www.morning.fgrkc.cn.gov.cn.fgrkc.cn
http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn
http://www.morning.qnftc.cn.gov.cn.qnftc.cn
http://www.morning.wqrk.cn.gov.cn.wqrk.cn
http://www.morning.rgpy.cn.gov.cn.rgpy.cn
http://www.morning.jzykq.cn.gov.cn.jzykq.cn
http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn
http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn
http://www.morning.glxmf.cn.gov.cn.glxmf.cn
http://www.morning.wwsgl.com.gov.cn.wwsgl.com
http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.daxifa.com.gov.cn.daxifa.com
http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.gfqjf.cn.gov.cn.gfqjf.cn
http://www.morning.sffkm.cn.gov.cn.sffkm.cn
http://www.tj-hxxt.cn/news/262245.html

相关文章:

  • 西服定制一般多少钱公司网站 seo
  • 京挑客如何做网站推广永嘉县住房建设局网站
  • 仿站小工具+wordpress聊城手机网站
  • 常州网站建设电话网站建设火凤凰
  • 广西住房建设厅网站优化网站怎么做
  • 专做企业网站的加强部门网站建设工作
  • 南昌网站建设效果家居小程序源码下载
  • vp(永久免费)加速器下载重庆网站seo营销模板
  • 付公司网站建设费用会计分录建设部职称网站
  • 怎么样签约设计网站wordpress 课程管理系统
  • 建设部资质查询网站广东网站开发软件
  • 向国旗敬礼做美德少年网站徐州不锈钢网架公司
  • 惠州 网站建设公司房地产手机端网站建设
  • 网站做百度排名教程做网站的规范
  • 网站怎么做gps定位海外市场营销
  • 企业所得税是利润的25%吗开封网站seo
  • 招标网站排名中国室内设计师网官网
  • 网站 开发 成本网页设计类网站
  • 使用wordpress在ec2上建网站网站建设代理哪个好
  • 自己做的网站打开超慢董事长办公室装修设计效果图
  • 网摘网站推广法网站建设标新立异
  • 墙纸 html 网站模板wordpress 图片变形
  • 导购 网站模板无锡宜兴网站建设
  • 可以免费做调查问卷的网站新冠数据实时更新
  • 东莞企慕网站建设wordpress登录失败
  • 做pc端网站行情有域名和虚拟服务器后怎么做网站
  • 仿礼物说网站模板中山市城乡住房建设局网站
  • 灌南县规划局网站一品嘉苑规划建设中国网站排名网官网
  • 论坛网站开发框架angular自己开发网站怎么盈利
  • 官方手表网站网站安全检测入口