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