jQuery ajax总结
1.jQuery load() 方法
jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
语法:
$(selector).load(URL,data,callback);
必需的 URL 参数规定您希望加载的 URL。
可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
可选的 callback 参数是 load() 方法完成后所执行的函数名称。
这是示例文件("demo_test.txt")的内容:
<h2>jQuery and AJAX is FUN!!!</h2>
<p id="p1">This is some text in a paragraph.</p>
也可以把 jQuery 选择器添加到 URL 参数。
下面的例子把 "demo_test.txt" 文件中 id="p1" 的元素的内容,加载到指定的 <div> 元素中:
实例
$("#div1").load("demo_test.txt #p1");
2.jQuery get() 方法
get() 方法通过远程 HTTP GET 请求载入信息。
这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
语法
$(selector).get(url,data,success(response,status,xhr),dataType)
实例
$(document).ready(function(){
$("#pub").click(function(){
$.get(
"PubServlet",
function(data){
$("#pub").empty();
$.each(data, function (index, value) {
$("#pub").append("<option value="+value.pubId+">"+value.pubName+"</option>");
});
},
"json");
});
});
后台servlet
public class PubServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
response.setCharacterEncoding("UTF-8");
List<Publish> pubs = new ArrayList<Publish>();
Publish pubArr[] = new Publish[5];
for (int i = 0; i < pubArr.length; i++) {
pubArr[i] = new Publish(i+1,"publish"+i);
pubs.add(pubArr[i]);
}
Gson gson = new Gson();
out.print(gson.toJson(pubs));
}
}
3.jQuery $.post() 方法
$.post() 方法通过 HTTP POST 请求从服务器上请求数据。
语法:
$.post(URL,data,callback);
必需的 URL 参数规定您希望请求的 URL。
可选的 data 参数规定连同请求发送的数据。
可选的 callback 参数是请求成功后所执行的函数名。
下面的例子使用 $.post() 连同请求一起发送数据:
实例
$("button").click(function(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。
HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
GET - -从指定的资源请求数据
POST -- 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
4.jQuery ajax() 方法
实例
$(document).ready(function(){
$("#cbs").one("click",function(){
$.ajax({
url:"pubs.do",
contentType:"application/json;charset=utf-8",
type:"get",
dataType:"json",
success:function(data){
$("#cbs").empty();
$.each(data, function (index, value) {
$("#cbs").append("<option value="+value.pubId+">"+value.pubName+"</option>");
});
},
error:function(){
alert("is error");
}
});
});
});
后台
使用spring mvc的控制器,不做详细说明,大同小异,也可以直接使用servlet处理请求。区别在于使用spring MVC的话,经过配置后会自动转换为json类型,而使用servlet需要自己利用各种工具包进行转换,个人推荐谷歌的gson。
参考配置(dispatcher-servlet.xml)
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="stringConverter"/>
<ref bean="jsonConverter"/>
</list>
</property>
</bean>