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>


posted @ 2014-10-22 21:50  Lucare  阅读(134)  评论(0编辑  收藏  举报