摘要:对象的语法对象名属性值属性值属性值属性值林黛玉这个对象所对应的属性如下林黛玉如果对象取值的时候,直接对象属性名称就可以林黛玉什么是对象表现方式对象表示法,即以对象的格式表现出来的字符串。
前端知识点总结——Ajax 1.ajax
1.URL的作用 用于表示任意一个资源的位置(互联网上) 2.详解 格式:2.HTTP协议:// : @ : / ; ? # scheme:方案协议,以哪种方式到服务获取资源,协议不区分大小写, 常见的协议:http,https,ftp ssh:安全的远程登录 SMTP:邮件传输 POP3:邮件接收 DNS:域名解析 TELNET:远程登录 host:主机名,服务器主机名或IP地址或域名(由DNS转换为IP地址) 127.0.0.1=localhost port:端口号 80 443 user:用户名,访问某些特定资源时需要用到的信息 pwd:密码,访问某些特定资源时需要用到的密码 path:路径,资源在服务器上具体存放位置 params:参数(跟服务器有关) query:查询字符串,要传递给服务器的数据 http://127.0.0.1/login.php?uname=dangdang&upwd=12345 frag:锚点 http://127.0.0.1/a.html#NO1
1.什么是HTTP Hyper Text Transfer Protocol:超文本传输协议 规范了数据如何打包以及传递 2.详解 1.请求(request)消息 客户端带给服务器的数据都有哪些,由三部分组成 1.请求的起始行 1.请求方法 1.GET 表示客户端向服务器获取资源时使用 特点: 1.无请求主体 2.靠地址栏传递查询字符串 2.POST 表示想传递数据给服务器时使用 特点: 1.有请求主体 3.PUT 表示客户端想放置文件到服务器(禁用) 4.DELETE 表示客户端要删除服务器端的数据(禁用) 5.HEAD 表示客户端只想获取指定的响应头 6.CONNECT 测试连接 7.TRACE 追踪请求路径 8.OPTIONS 选项,保留以后使用 2.请求URL 3.协议版本:HTTP/1.12.1请求头
1.Host:localhost/127.0.0.1 作用:告诉浏览器请求哪一个主机 2.Connection:keep-alive 作用:告诉服务器要进行持久连接 3.User-Agent: 作用:告诉服务器自己(浏览器)的类型 4.Accept-Language:zh-cn 作用:告诉服务器自己能接纳的自然语言 5.Accept-Encoding:gzip 作用:告诉服务器自己能接收的数据压缩类型是什么 6.Referer:http:localhost/Day01/login.html 作用:告诉服务器请求来自哪个页面 3.请求主体 Form Data2.2响应(response)消息
1.响应起始行 1.协议版本号:HTTP/1.1 2.响应状态码 作用:告诉浏览器,服务器的响应状态是什么问题(有问题,没有问题,有问题问题大概是什么) 1xx:100-199 提示信息 2xx:成功响应 200:ok 3xx:需要进行重定向 301:永久性重定向 302:临时重定向 304:Not Modified 4xx:客户端请求错误 404:Not Found 请求资源不存在 403:Forbidden 权限不够 405:Method Not Allowed 请求方法不被允许 5xx:服务器运行错误 500:服务器内部错误2.3原因短句
对状态码的简单解释 2.响应头 1.Date 作用:告诉浏览器,服务器的响应时间 格林尼治时间(+8h) 2.Connection 作用:告诉浏览器已经启动持久连接 3.Content-Type 作用:响应主体的类型是什么,告诉浏览器,用什么样的方式解析响应主体 1.text/html:响应回来的数据是html文本 2.text/plain:响应回来的数据是普通文本 3.text/css:响应回来的数据是css样式 4.application/xml:响应回来的数据是xml格式 5.application/javascript:响应回来的数据是js脚本代码 6.application/json:响应回来的数据是json格式的字符串 7.images/jegp:响应回来的数据是图片 3.响应主体 Response3.缓存
1.什么是缓存 & 工作原理
客户端将服务器响应回来的数据进行自动保存,当再次访问时,直接使用保存的数据。 2.缓存的优点 1.减少了冗余数据的传输,节省客户端流量 2.可以节省服务器带宽 3.降低对服务器资源的消耗和运行要求 4.降低了由于远距离而造成的延时加载 3.与缓存相关的消息头 1.Cache-Control消息头 作用:从服务器将文档传到客户端时起,可以认为此文档处于新鲜的秒数 语法: Cache-Control:max-age=处于新鲜的秒数 ex: Cache-Control:max-age=3600; Cache-Control:max-age=0;每次都从服务器下载新资源 2.Expires消息头 作用:指定缓存过期的确切时间(格林尼治时间) 语法:Expires:Thu,23 Nov 2017 GMT 如果希望客户端不缓存,可以给一个过期的时间 Expires:Wed,22 Nov 2017 00:00:00 GMT Expires:0;---此方法不标准,执行性不是特别好 4.在网页上设置消息头 1.更改服务器配置 2.网页上增加消息 ex: 或 php: header("Expires:0"); Response.AddHeader("Expires","0");4.AJAX
1.名词解释
1.同步(Synchronous) 在一个任务进行中时,不能开启其它的任务 同步访问:浏览器在向服务器发送请求的时候,浏览器只能等待服务器的响应,不能做其它的事情。 出现场合: 1.地址栏输入网址访问页面(www.baidu.com) 2.a标记默认跳转 3.submit按钮的表单提交 2.异步(Asynchronous) 在一个任务进行中时,可以开启其它的任务 异步访问:浏览器在向服务器发送请求时,不耽误用户在网页上做其它的操作 使用场合: 1.用户名的重复验证 2.聊天室 3.股票走势图 4.搜索框建议(百度,京东)
2.AJAX
1.Asynchronous Javascript And Xml 异步的 js 和 xml 2.本质: 使用js提供的异步对象(XMLHttpRequest),异步的向服务器发送请求, 并接受响应数据(数据格式是Xml) AJAX请求中,服务器响应回来的数据部分数据而不是完整的页面, 并且可以以无刷新的效果来更改页面的局部内容。 3.创建XMLHttpRequest对象-异步对象(xhr) 标准创建: var xhr=new XMLHttpRequest(); IE8以下: var xhr=new ActiveXObject("Microsoft.XMLHttp"); 允许通过window.XMLHttpRequest 来判断浏览器是否支持标准创建, 如果浏览器不支持标准创建,那么window.XMLHttpRequest的值就是null if(window.XMLHttpRequest){ var xhr=new XMLHttpRequest(); }else{ var xhr=new ActiveXObject("Microsoft.XMLHttp"); } 4.XHR常用方法和属性(重点) 1.open() 作用:创建请求 语法:xhr.open(method,url,isAsyn); 1.method string类型 请求方式:get/post 2.url string类型 请求地址 3.isAsyn boolean类型 指定采用同步(false)还是异步(true)的方式发送请求 2.readyState 属性 作用:表示xhr对象的请求状态 值:0-4表示5个状态 0:请求尚未初始化 1:已经打开到服务器的链接,正在发送请求中 2:请求完成 3.正在接收服务器端的响应 4.接收响应数据成功 注意:当readyState的值为4的时候,才表示所有的响应都已经接收完毕。 3.status 属性 作用:表示的是服务器的响应状态码 值: 记住一个值 :200 当status的值是200的时候,表示服务器已经正确的处理请求以及给出响应。 4.onreadystatechange事件 作用:当xhr的readyState属性值发生改变的时候,要自动激发的操作 (xhr对象的状态在做一些改变时,这个事件会一直监视着它) 语法: onreadystatechange=function(){ //判断xhr的readyState为4并且xhr的status值为200,就可以获取/响应数据了 if(xhr.readyState==4&&xhr.status==200){ //接收响应回来的结果 var resText=xhr.responseText; console.log(resText); } } 5.send() 作用:发送请求 语法:xhr.send(body) body:请求主体 如果没有请求主体,body位置处为null(get) 如果有请求主体,则放请求主体数据到body位置(post) 5.发送异步请求的步骤 1.创建xhr对象 2.创建请求 3.设置xhr的onreadystatechange(回调函数) 判断状态,并接收响应回来的数据 4.发送请求5.使用ajax发送post请求
注意两点:
1.post的请求将数据放在请求主体中 xhr.send(body); ex: xhr.send("uname=value1&upwd=value2"); 2.在发送请求之前,需要手动修改请求消息头 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");6.js对象数据格式
1.js对象的数据格式
var lindaiyu=[]; lindaiyu[0]="林黛玉"; lindaiyu[1]="1990"; lindaiyu[2]="160cm"; lindaiyu[3]="50kg"; 改版: var lindaiyu=[]; lindaiyu["name"]="林黛玉"; lindaiyu["birth"]="1990"; lindaiyu["height"]="160cm"; lindaiyu["weight"]="50kg"; ex:取值 lindaiyu["name"] 数组描述的是林黛玉的个人信息,如果你把林黛玉看成是一个对象,
那么她的个人信息就是她这个对象的属性。
js对象的语法: var 对象名={ 属性:值, 属性:值, 属性:值, 属性:值 }; ex:林黛玉这个对象所对应的属性如下 var lindaiyu={ name:"林黛玉", birth:"1990", height:"160cm", weight:"50kg", } 如果对象取值的时候,直接对象.属性 名称就可以 ex:lindaiyu.name --->林黛玉7.JSON
1.什么是JSON JavaScript Object Notation js 对象 表现方式 js对象表示法,即以js对象的格式表现出来的字符串。 2.JSON语法 1.JSON对象 1.用一对{}来表示一个对象 2.对象的属性名称,必须用""引起来(单引号不可以),值如果是字符串的话,必须也用""引起来。 ex: var computer="{ "name":"电脑", "price":5600 }" 2.JSON数组 1.普通数组 "["小乔","大乔","貂蝉"]" 2.对象数组 "[ { "name":"小乔", "height":"160cm", "age":18 }, { "name":"大乔", "height":"163cm", "age":20 }, { "name":"貂蝉", "height":"165cm", "age":21 } ]" 3.JSON文件创建 以.json为后缀的文件,里面包含的是符合json格式的数据 4.将JSON字符串,转换成js对象/数组 var mperson="{"name":"TOM","age":18}"; //json对象 var arr="["小乔","大乔","貂蝉"]"; //json数组 var arr1="[ {"name":"Lucy","age":19}, {"name":"Lily","age":19} ]"; //json数组 如何把上面的数据转换成js对象/数组格式 1.使用eval()将数据转换成js对象数组(不推荐) 2.使用JSON.parse()来将JSON字符串解析为js对象 var obj=JSON.parse(mperson); //js对象 var obj=JSON.parse(arr);//js数组 var obj=JSON.parse(arr1);//js数组
2.JS对象数据格式
var 对象名={
属性:值, 属性:值, 属性:值
}
取值:对象名称.属性
3.JSON数据格式
var person="{
"name":"TOM", "age":12
}"
4.将JSON格式的数据转换js对象/数组
1.eval()
2.JSON.parse
4.1在php中,可以直接将数组转换成json格式的字符串
语法:
通过json_encode()将数组转换为JSON字符串,并返回转换后的结果 ex: 在php中 $array=["钉钉","当当","冰冰"]; $str=json_encode($array);8.XML
AJAX:Asynchronous Javascript And Xml
1.什么是XML
eXtensible Markup Language 可扩展的 标记 语言 XML的标记没有被预定义过,需要自定义 XML的宗旨是做数据传递的,而非显示数据
2.XML的语法结构
XML可以独立保存为***.xml的文件,也可以以字符串的形式出现 1.XML的最顶端是XML的声明 2.XML标记的语法 1.XML标记必须成对出现错误 2.XML严格区分大小写,开始和结束必须一致 正确 错误 3.XML的标记允许被嵌套,注意嵌套顺序 4.每个标记都允许自定义属性,格式与html一致,但属性值,必须用""括起来 5.每个XML文档,必须有一个根元素
3.解析XML文档对象的内容
1.核心方法 elem.getElementsByTagName("标签名称"); 返回值:返回一个包含指定元素们的“类数组” (用for循环遍历) ex:var xmlDoc=xhr.responseXML; xmlDoc.getElementsByTagName("Student");
4.在PHP中返回XML格式的字符串
1.必须增加响应消息头 header("Content-Type:application/xml"); 2.按照XML的语法结构,拼xml字符串,再响应给前端
$xml=""; $xml.=""; ... $xml.=" "; echo $xml;
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/92875.html
摘要:今天同学去面试,做了两道面试题全部做错了,发过来给道典型的面试题前端掘金在界中,开发人员的需求量一直居高不下。 排序算法 -- JavaScript 标准参考教程(alpha) - 前端 - 掘金来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 目录 冒泡排序 简介 算法实现 选择排序 简介 算法实现 ... 图例详解那道 setTimeout 与循环闭包的经典面...
摘要:责编现代化的方式开发一个图片上传工具前端掘金对于图片上传,大家一定不陌生。之深入事件机制前端掘金事件绑定的方式原生的事件绑定方式有几种想必有很多朋友说种目前,在本人目前的研究中,只有两种半两种半还有半种的且听我道来。 Ajax 与数据传输 - 前端 - 掘金背景 在没有ajax之前,前端与后台传数据都是靠表单传输,使用表单的方法传输数据有一个比较大的问题就是每次提交数据都会刷新页面,用...
摘要:最近遇到的前端面试题更新版前端掘金个人博客已上线,欢迎前去访问评论无媛无故的个人博客以下内容非本人原创,是整理后觉得更容易理解的版本,欢迎补充。 一道面试题引发的对 javascript 类型转换的思考 - 前端 - 掘金 最近群里有人发了下面这题:实现一个函数,运算结果可以满足如下预期结果: ... 收集 JavaScript 各种疑难杂症的问题集锦 - 前端 - 掘金 从原博客迁移...
摘要:最近遇到的前端面试题更新版前端掘金个人博客已上线,欢迎前去访问评论无媛无故的个人博客以下内容非本人原创,是整理后觉得更容易理解的版本,欢迎补充。 一道面试题引发的对 javascript 类型转换的思考 - 前端 - 掘金 最近群里有人发了下面这题:实现一个函数,运算结果可以满足如下预期结果: ... 收集 JavaScript 各种疑难杂症的问题集锦 - 前端 - 掘金 从原博客迁移...
摘要:最近遇到的前端面试题更新版前端掘金个人博客已上线,欢迎前去访问评论无媛无故的个人博客以下内容非本人原创,是整理后觉得更容易理解的版本,欢迎补充。 一道面试题引发的对 javascript 类型转换的思考 - 前端 - 掘金最近群里有人发了下面这题:实现一个函数,运算结果可以满足如下预期结果: ... 收集 JavaScript 各种疑难杂症的问题集锦 - 前端 - 掘金从原博客迁移过来...
阅读 1044·2023-04-25 14:35
阅读 2813·2021-11-16 11:45
阅读 3400·2021-09-04 16:48
阅读 2162·2021-08-10 09:43
阅读 520·2019-08-30 13:17
阅读 1604·2019-08-29 13:27
阅读 867·2019-08-26 13:58
阅读 2130·2019-08-26 13:48