通过ajax进行get和post请求。

现在基本上都是用jQuery来进行ajax的处理了…

为了学习,我还是用了两种方法,一种是原生的ajax方法,一种是jQuery中的简便方法。

一、实现方式

(1)get方法

1.jQuery中

url是你发送请求的地址,data填写你get请求的参数,function是你获得回传数据的处理方法

  1. url是你服务端的地址,我用的是servlet写的服务端,这个你自己指定。
  2. url是你服务端的地址,我用的是servlet写的服务端,这个你自己指定。

基本上就是按照这种格式去传

value是参数名,服务端将根据参数名做出不同的处理。后面跟的$(“.m”).val()是参数值。

为什么要加上这个…+”&id=”+Math.random()?

那是因为浏览器是个喜欢偷懒的东西,你经常访问同一页面,浏览器就倾向于调用缓存。这时,你就算改变了网页,由于缓存的存在,你实际上访问的网页依旧是未改变的,很让人蛋疼。

这个时候你就需要告诉浏览器,我这次访问的网页和上次的不一样哦,你不要再拿以前的东西敷衍我啊!

怎么告诉浏览器,两次请求不同呢?那就传入随机的id参数,浏览器就会认为,有新东西进来了,需要重新加载网页。那么就减少了缓存的影响。

2.直接ajax

ajax的直接方法其实就是调用XMLHttpRequest()对象的一系列方法实现的。

首先,你需要声明XMLHttpRequest()对象:

其次,你需要构造get请求,格式为:

然后,你就要把你的请求给传送出去:

最后,你需要处理回调函数:

  1. onreadystatechange:有返回值。
  2. if (xmlhttp.readyState == 4 && xmlhttp.status == 200),这个是条件判断。
  3. readyState表示数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据。
  4. status表示请求的状态,200既是访问成功

条件判断之后,就进行函数的处理,responseBody直接将返回值写入http的body中,而responseText是返回的全部文本信息,只是一个输出的字符串而已。

(2)post方法

1.jQuery中

和get差不多,基本上的区别就是换了个post,参数需要用{}括起来传

特别注意参数需要{}起来!

2.直接ajax

首先,你还是需要声明 XMLHttpRequest对象:

其次,你需要指定post的信息:

然后,你需要构造post请求头(注意post和get不同,一点要加上请求头!):

再然后,把post和参数发送出去:

最后,处理回调函数,和get中是一样的:

二、代码实现

三、总结

大概就是这样了,还是比较简单的。jQuery方式比较简单简便,直接用就可以了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注