锋利的jQuery ajax(二)

2.$.get()

load()方法通常用来从Web服务器上获取静态的数据文件,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()和$.post().结构为:
$.get(url,data,function(data,textStatus),type)
//type表示返回数据的类型

//第一种:html片段

$(function(){
       $("#send").click(function(){
            $.get("get1.jsp", { 
                        username :   $("#username").val(), 
                        content :   $("#content").val()  
                    }, function (data, textStatus){
                        $("#resText").html(  decodeURI(data) ); // 把返回的数据添加到页面上
                    }
            );
       })
    })

//第二种: XML文档
$(function(){
       $("#send").click(function(){
            $.get("get2.jsp", { 
                        username :  $("#username").val(), 
                        content :   $("#content").val()
                    }, function (data, textStatus){
                        var username = $(data).find("comment").attr("username");
                        var content = $(data).find("comment content").text();
                        username =  decodeURI(username);
                        content = decodeURI(content);
                        var txtHtml = "
"+username+":

"+content+"

"
; $("#resText").html(txtHtml); // 把返回的数据添加到页面上 }); }) }) //第三种:JSON文件 /* JSON具有两种格式,一种是键值对形式{"":""},另外一种是数组形式[{"":""},{"":""}] 注意:JSON的格式非常严格,构建的JSON文件必须完整无误,任何一个括号的不匹配或者缺少逗号,都会导致页面上的脚本终止运行,比如我们返回的数据都必须要有双引号,必须是{"username":"dqf"},而不能是{username:"dqf"}. */ //后台代码返回一个JSON字符串数组(这是一个省市二级联动的前后台) List citylist = cityService.getCityByProvince(proid); Iterator it = citylist.iterator(); StringBuilder sb = new StringBuilder("["); while(it.hasNext()){ City city = (City) it.next(); sb.append("{\"cityname\":\""+city.getName()+"\"}"); sb.append(","); } sb.deleteCharAt(sb.length()-1); sb.append("]"); String s = sb.toString(); System.out.println(s); response.setCharacterEncoding("utf-8"); response.getWriter().write(s); //前台 $.post("/xiaoneinew/user/getCity", {provincename:$("#getcity").val()}, function(data){ var ok =eval('('+data+')') for(var i=0;i"#city").append(" + city + ""); }} );

3.$.post()

.get() .get())

  • Get请求会将参数跟在URL后进行传递,而POST方式则是作为HTTP消息的实体内容发送给web服务器。不过在AJAX请求中,用户看不到。
  • Get对传输的数据有大小限制(通常不能大于2kb),而使用POST方式没有限制。
  • Get方式请求是数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码。Get会带来这种问题。

你可能感兴趣的:(锋利的jQuery ajax(二))