Ajax---05--Ajax的get与post

来源:互联网 发布:mac使用windows软件 编辑:程序博客网 时间:2024/06/04 19:25

首先申明:文章是从前端里摘过来的,不是自己的

get方式的问题:
如何缓存?     以当前访问地址进行缓存

解决:(不一样的地址)
    1.缓存:在 url? 后面连接一个随机数,时间戳(记住:若有数据在url?后面,要加上&)
        eg: oAjx.open('get','xx.txt?username=Tom&age=30&t=' + new Date().getTime(),true);
        修改:(去掉't=')如果后端接收一个变量,它的名字也为t的话,会造成冲突,可能覆盖。
                eg: oAjx.open('get','xx.txt?username=Tom&age=30&' + new Date().getTime(),true);

乱码问题:编码encodeURI
                eg: oAjx.open('get','xx.txt?username='+encodeURI(习大大)+'&age=30&' + new Date().getTime(),true);

post方式的问题:
(1.post没有缓存问题,它是提交数据
  2.post方式无需编码)
post方式,数据放在send()里面作为参数传递。

    oAjx.send('username=Tom&age=30');
    在发送数据的时候,oAjx是没有默认值的,oAjx没有默认值告诉后端提交的数据是文本的
    解决:(手动告诉后端)设置请求头,告诉后端,发送的文档的类型是什么类型
        告诉后端提交的数据是经过xx编码的,让后端解析。

//声明发送的数据类型(告诉后端发送数据的类型)
oAjx.setRequsetHeader('content-type','application/x-www=form-urlencode');
//发送
oAjx.send('username=Tom&age=30');


//get方式是保密性差,它的安全性和post一样,因为get是浏览器要传递的数据附加在URL上传给服务器,这是保密性差,
//可以利用浏览器上的通信组件看到他们的数据

总结
get方式与post方式的区别:
        get:1.保密性差。
            2.通过网址传递数据
            3.容量小
            4.有缓存(get是获取数据)
            5.碰到汉子需要编码
        post:1.安全性相对较好
             2.http(请求头)
             3.容量大(一帮2G)
             4.无缓存(post是提交数据,向服务器传递信息)
             5.无需编码

0 0