Ajax相关——get请求和post请求的区别

时间:2023-03-08 23:48:55
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对象

 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;

         }

     }

 }