Ajax中get和post使用问题

Posted 怪诞咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax中get和post使用问题相关的知识,希望对你有一定的参考价值。

使用get遇到的问题:

1.问题一. 缓存:当每次访问的url相同,客户端直接读取本地缓存里面的内容,即使后台数据变化前台也不会有变化;

解决方法:在?后面链接一个num=【随机数Math.random()】或者num=【时间戳new Date().getTime()】,‘1.php?username="May"&‘+num(这里没有变量名,避免和后台参数冲突)

2.问题二. 乱码,当传递中文或者特殊字符的时候,前台显示出现乱码

解决办法:使用编码encodeURI(‘蜗牛‘)

测试结果:通过使用Chrome测试,结果get的两种问题,都已经得到了解决

使用post遇到的问题:

post方式,数据放在send()里面作为参数传递;

问题:当没有设置请求头的时候,后台直接不对数据进行处理;前台就无法获得后台返回的数据

解决方法:手动设置请求头(xhr.setRequestHeader(‘content-type‘,‘application/x-www-form-urlencoded‘)),声明发送的数据类型

【注】post没有缓存问题,没有编码问题(因为在请求头里面已经进行了声明)

测试结果:通过使用Chrome测试,结果post这个没有声明头部信息,问题是存在的

以上是关于Ajax中get和post使用问题的主要内容,如果未能解决你的问题,请参考以下文章

Ajax 中的 GET 与 POST

ajax中get和post请求的区别

Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)

Ajax中get请求和post请求

Ajax请求返回结果为404问题

jquery中使用ajax发送post请求变成get请求