扫码关注官方订阅号
最近老师接了个电商项目让我写前端部分 以前都是随心所欲的写js文件,现在想正式、正规的写。搜索了很久都没有答案 请问正式工作中是是怎样写js jq ajax的?全部ajax请求放在一个文件吗?要写配置文件吗?
认证0级讲师
可以用WEBPACK来加载打包。
还是要看项目的具体情况。 新手做项目不建议临时改变开发习惯,自己给自己挖坑这种事屡见不鲜啊 :D 先把精力放在解决需求上,先让功能正常。你的代码习惯、项目结构、封装方法这些都是需要时间和经验来慢慢积累的,一下改的话很可能影响工期。
看你的情况,上 webpack 的话可能门槛高一些, webpack 涉及内容太多太杂. 抛开模块化方案和构建方案, 我单纯就 jQuery Ajax 说几个使用心得:
(一)最简单的写法就是即用即写, 不过这样会导致一个问题 - $.ajax / $.get / $.post 这些方法可能散落在代码的各个地方, 其实很多项目都是这么干的, 如果想让代码规整一些可以这么做:
$.ajax / $.get / $.post
独立出一个 api 层 或 api 模块, 封装所有 ajax 调用相关的代码, 暴露 api 接口, 比如 api.users.get / api.users.save 这样的方法, 然后业务代码调用封装好的 api 接口, 不过说实话, 这样做有些赘..
api.users.get / api.users.save
另外, 可以使用 Promise API, 相比 jQuery Ajax callback 的方式, 要优雅很多
(二)使用 jQuery 的全局 Ajax API这点很重要, 能省很多功夫, 其实你提到的 配置 二字和这点是有关系的, 比如:
利用 $.ajaxSetup 可以做一些 Ajax 相关的基础配置
利用 $.ajaxPrefilter 可以配置服务端 URL 的根路径 (base URL), 这样可以让你的代码不依赖于服务端地址, 每个 Ajax 调用只需要写相对路径即可; 再比如开发阶段也可以用来打印日志(请求/响应数据), 这对调试很有帮助
利用 jQuery Ajax 全局事件可以方便的处理异常情况, 也可以结合 $.ajaxPrefilter 实现数据加载时的进度条
具体可以参考 jQuery Ajax API 的 Ajax 部分 http://api.jquery.com/categor...
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以用WEBPACK来加载打包。
还是要看项目的具体情况。 新手做项目不建议临时改变开发习惯,自己给自己挖坑这种事屡见不鲜啊 :D 先把精力放在解决需求上,先让功能正常。你的代码习惯、项目结构、封装方法这些都是需要时间和经验来慢慢积累的,一下改的话很可能影响工期。
看你的情况,上 webpack 的话可能门槛高一些, webpack 涉及内容太多太杂. 抛开模块化方案和构建方案, 我单纯就 jQuery Ajax 说几个使用心得:
(一)
最简单的写法就是即用即写, 不过这样会导致一个问题 -
$.ajax / $.get / $.post这些方法可能散落在代码的各个地方, 其实很多项目都是这么干的, 如果想让代码规整一些可以这么做:独立出一个 api 层 或 api 模块, 封装所有 ajax 调用相关的代码, 暴露 api 接口, 比如
api.users.get / api.users.save这样的方法, 然后业务代码调用封装好的 api 接口, 不过说实话, 这样做有些赘..另外, 可以使用 Promise API, 相比 jQuery Ajax callback 的方式, 要优雅很多
(二)
使用 jQuery 的全局 Ajax API
这点很重要, 能省很多功夫, 其实你提到的 配置 二字和这点是有关系的, 比如:
利用 $.ajaxSetup 可以做一些 Ajax 相关的基础配置
利用 $.ajaxPrefilter 可以配置服务端 URL 的根路径 (base URL), 这样可以让你的代码不依赖于服务端地址, 每个 Ajax 调用只需要写相对路径即可; 再比如开发阶段也可以用来打印日志(请求/响应数据), 这对调试很有帮助
利用 jQuery Ajax 全局事件可以方便的处理异常情况, 也可以结合 $.ajaxPrefilter 实现数据加载时的进度条
具体可以参考 jQuery Ajax API 的 Ajax 部分 http://api.jquery.com/categor...