ajax response.write 执行失败_Day 42:一人分饰三角,初识AJAX
Hello大家好!我是Cathy海希,今天是我学习编程的第42天。
欢迎同时关注我的Youtube&B站?Cathy海希TV
每日斯多葛
你没必要做正确的事情。你可以变得自私,粗鲁,恶心,没远见,迂腐,邪恶,愚蠢(selfish, rude, awful, shortsighted, pedantic, evil, or stupid)人们难免会有想要作恶的冲动。
那我们如何维持自己思考的底线,坚持做正确的事情?因为我愿意,我乐意。
coding
8h
学习内容
【实战】用AJAX加载不同类型的文件
初识AJAX
什么是AJAX?简而言之,就是用JS发送请求,接收响应。简单吧?这就是方方老师的style?❤️
这一课的作业就是自己实际利用用AJAX加载不同类型的文件,我梳理了一下其中我都到底干了一些什么。我发现其实我扮演了三个角色。
角色一:服务端
【服务端我】利用Node.js里的http模块来实现了响应的功能。值得注意的是,这边的服务器功能也可以用其它编程语言实现的,只是我们正巧用的是Node.js,其实还可以用PHP啊Python之类的。
我们的目的不是搞清Node.js,而是请求和响应的过程(Node.js只是帮助我们理解整个过程的工具而已)把代码中每一句干了什么搞清楚就可以了。方方老师还说了,新手不要过早开始学Node.js,JS都还没整明白呢? 之前每次修改代码之后,都要ctrl+C断开,然后执行node再次监听。这次引进了一个新工具叫node-dev,它可以实时帮忙刷新。
那我在扮演服务端的时候具体干了些什么呢?答:添加了各种路由。啥是路由?就是代码里的if else
,也就是你请求什么,我就给你返回什么类型的文件。
Node.js里面有一行代码是
response.write(fs.readFileSync(db/page2.json))//不一定是JSON,可能是其它文件类型
我感觉,这个文件也是由前端来写的,写好了放在数据库里,然后供服务端读取。
角色二:用户
【用户我】在浏览器里,实际通过鼠标按下各个按钮,期待得到某种结果,比如说页面样式有变化啊,得到新内容啊,翻到下一页啊,这是我在扮演使用浏览器的用户的角色。
角色三:前端
我不太确定这个角色是不是就叫前端哦,但是跟我在学习的内容高度符合,所以我猜测大概这些事情实际平时就是前端在做了。
情景:用户点击了一个“请求CSS”的按钮,那【前端我】要如何把用户期待的变化展现在他的浏览器上呢?
首先,我要用到一个我第一次接触的对象:XMLHttpRequest(XHR),它用于与服务器交互。
❝
AJAX的正式定义:使用 XMLHttpRequest 技术构建更复杂,动态的网页的编程实践
❞
所以,用了XHR,就可以说我就是在AJAX了?
OK,回到上面设定的情景。之前说了,AJAX其实就是用JS发送请求,接收响应对吧?用户点击了浏览器上的某个按钮,我需要把这一行为构造成一个请求,发送给服务端,然后接收来自服务端的响应。这么想想,前端是不是连接用户(用户的浏览器)和服务端的桥梁的感觉?
用代码实现
用代码来实现上述的过程,简单来说分为以下四步:
const request = new XMLHttpRequest()//1. 创建一个XHR对象request.open(method,url)//2.初始化请求request.onreadystatechange = callback//3. 监听它的状态变化request.send()//4.发送请求
- 第2步的
.open(method,url)
其实后头还可以接收几个参数,但是我想特别谈谈第三个参数async。它的默认值是true
,所以不用写。我感觉这个默认值true
对于AJAX来说特别精华,因为,它表示要不要异步执行操作。如果改成false
,那就跟AJAX里的A意味的异步相矛盾了。所以,我们一般只写前两个参数。
- 第4步的
.send()
用于发送 HTTP 请求。如果是异步请求(默认为异步请求),则此方法会在请求发送后立即返回;如果是同步请求,则此方法直到响应到达后才会返回。因为.open()
的默认值是true
,所以就是前面一种情况。
- 第3步的
onreadystatechange
当 readyState 的值改变的时候,相应的callback函数会被调用。(callback回调将会是明天日记的重点之一)
- 请求操作已完成(注意,意味着数据传输已经彻底完成或者失败)
- 并且请求成功的话,
我就从服务器那里拿到的响应(数据),根据其类型,用不同的类型进行解析,这样子浏览器就可以正确地加载到页面上。
最终用户就可以看到他通过浏览器发起的请求在页面上的反馈了。
mindset
现在在学习的这一章的名字叫【前后分离】,说实话其实我还不知道前端和后端到底是如何分工的。如果我今天这个一人分饰三角的脑内小剧场大致正确的话,我觉得我开始那么一丝丝感觉了?不过我更加期望整个章节学习完成之后,有一个更加清晰的认识。
ajax response.write 执行失败_Day 42:一人分饰三角,初识AJAX相关推荐
- 这才叫积极脱单:为自己搭建相亲网站,一人分饰三十角
By 超神经 内容提要:霓虹国一直脑洞很大,从动漫到游戏到各种整蛊综艺,总能让我们大跌眼镜,最近有一档节目中就出现了这么一个神奇的程序员小哥......他神奇就神奇在,为自己做了一个与众不同的相亲网站 ...
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...
- ajax回调函数有时成功有时失败,$.ajax数据传输成功却执行失败的回调函数
这个问题迷惑了我好几天,都快要放弃了,功夫不负有心人,最终成功解决,下面写一下我的解决方法. 我传的数据是json类型的,执行失败的回调函数是因为从后台传过来的数据不是严格的json类型,所以才会不执 ...
- apscheduler 脚本执行失败_在脚本中使用 Bash 信号捕获 | Linux 中国
无论你的脚本是否成功运行,信号捕获(trap)都能让它平稳结束. 来源:https://linux.cn/article-12715-1.html 作者:Seth Kenlon 译者:Hank Cho ...
- ajax请求成功和失败方法_创新需要反馈和失败的新方法
ajax请求成功和失败方法 今天,"组织文化"令人不解,有充分的理由. 越来越多的领导者意识到,渗透并指导其组织的文化将决定他们是成功还是失败. 术语"组织文化" ...
- submit 不触发ajax,Ajax submitHandler没有执行
我想通过ajax执行php文件,但它只是像正常一样通过表单加载并加载一个新页面.我在这里检查了大量的代码,仍然不会通过submitHandler和ajax执行.我已经检查主机提供商和ajax支持,我已 ...
- Pyinstaller 打包 torch 后执行失败 OSError: could not get source code
1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...
- mysql latid1_【转】mysql触发器的实战经验(触发器执行失败,sql会回滚吗) | 学步园...
1 引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...
- apscheduler 脚本执行失败_Bash编程入门-3:数学运算及脚本
说明:本文是对Vamei知乎文章<快速学习Bash>(https://zhuanlan.zhihu.com/p/32692644)一文的学习笔记,根据个人理解调整了内容顺序,补充了一些注释 ...
最新文章
- 干货丨2017年含金量最高的机器学习技能或知识有哪些?
- android线程及线程池
- WinForm开发,窗体显示和窗体传值相关知识总结
- 软件开发有多少种方式
- stdthread(6)并发lockGuard
- mysql中selectform_带有select标签的form表单,怎么提交到数据库啊 ?具体情况如下...
- linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库
- 给考研迷茫中的你的一封信
- 多肉建议多久浇一次水?
- c语言printf、sprintf、vsprintf用法和区别
- 为什么在 Windows 下用 Ctrl+Z 退出 Python 而 Linux 下用 Ctrl+D 呢?
- 动软连接oraclet生成代码
- SVN中clean up的含义
- js实现显示系统时间的表盘
- i711370h和i710875h哪个好
- 隐私保护的数据挖掘综述
- python3多进程写Kafka异步线程调用接口
- [云原生]微服务架构是什么
- 70块钱打造简单家庭NAS
- CAN FD如何应用Vector诊断工具链?
热门文章
- 转型会员制,云集能否讲好电商下半场故事?
- fb驱动安装linux系统,drm 驱动是如何创建 fb device 的
- swoole client php,Swoole Client
- 攻防世界-Misc-something_in_image(秒懂!!)
- Python中包含义及其定义
- python queue 模块教程
- python基础教程:数值与字符串类型
- python 鸭子类型及三大特性
- 从Python代码到APP,你只需要一个小工具:GitHub已超3000星
- python拼写检查_Python 怎样写一个拼写检查器