ajax中get与post方法的区别,及乱码的终极解决方案

    技术2022-05-11  13

    (一)Get和Post的区别 Get方式: 

     用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此,在某些情况下,get方法会带来严重的安全性问题。    Post方式:   当使用POST方式时,浏览器把各表单字段元素及其数据作为HTTP消息的实体内容发送给Web服务器,而不是作为URL地址的参数进行传递,使用POST方式传递的数据量要比使用GET方式传送的数据量大的多。

    (二)AJAX乱码问题产生的原因及解决方案产生乱码的原因:

    1、AJAX返回数据的默认编码格式为utf-8,如果客户端页面是gb2312或者其它编码数据就会产生乱码;

    2、POST方法提交数据默认的字符编码是utf-8,如果服务器端处理数据文件是gb2312或其他编码格式就会产生乱码;

    3、使用GET方法发送请求,并且没有对GET参数进行编码(URLEncode),服务端接收的数据也会乱码。乱码问题

    解决办法:

    1、若客户端是gb2312编码,则在服务器指定输出流编码    

    Response.charset = "gb2312";   

    Session.CodePage = 936;

    2、服务器端和客户端都使用utf-8编码(推荐) 3、对使用GET方法发送请求的数据,进行URL编码。

    原文地址: AJAX实例站 http://www.ajaxsamples.cn/show.asp?id=72


    最新回复(0)