Ajax相关——get请求和post请求的区别
一、完整的URL由以下几部分组成:
scheme:通信协议,常用的有:http/ftp。
host:主机,服务器(计算机)域名或IP地址
port:端口,整数,可选,省略时使用默认端口,http的默认端口是80.
path:路径,由零或多个“/”符号隔开的字符,一般用来表示主机的一个目录或者文件地址
query:查询,可选,用于给动态网页(如用CGI、ISAPI、PHP/ASP/JSP/ASP.NET等技术制作的网页)传递参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开
fragment:信息片段、字符串,用于指定网络资源中的片段。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。
二、get请求和post请求的区别
(1)、get请求没有请求头,post请求要有请求头,请求会带上content—type告诉服务器post过去的数据格式和url的参数的数据一样
(2)、post发送的数据在请求体中,用户看不到;get发送的数据在地址栏中,用户能看到,不安全
(3)、涉及隐私数据的时候用 post 请求比较安全,发送大量数据的时候用 post,发送少量数据用get
三、XMLHttpRequest 返回值类型有xml和json
js解析xml格式
1、根据xml文本内容创建xml对象
1 function createXml(data){ 2 3 if(!data){ 4 5 return null; 6 7 } 8 9 var xml = null; 10 11 try{ 12 13 xml = new ActiveXObject("Microsoft.XMLDOM"); 14 15 xml.loadXML(data); 16 17 }catch(e){ 18 19 try{ 20 21 xml = (new DOMParser()).parseFromString(data) 22 23 }catch(e){ 24 25 return null; 26 27 } 28 29 }
2、获取元素节点的文本内容
1 function getNodeText(node){ 2 3 if(window.ActiveXObject){ 4 5 return node.text; 6 7 }else{ 8 9 if(node.nodeType = 1){ 10 11 return node.textContent; 12 13 } 14 15 } 16 17 }
3、获取元素的属性
1 function getNodeAttribute(node,attrName){ 2 3 if(window.ActiveXObject){ 4 5 return node.getAttributeNode(attrName); 6 7 }else{ 8 9 if(node.nodeType == 1){ 10 11 return node.attributes[attrName] 12 13 }else{ 14 15 return undefined; 16 17 } 18 19 } 20 21 }