锋利的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 = "<div class='comment'><h6>"+username+":</h6><p class='para'>"+content+"</p></div>";
                        $("#resText").html(txtHtml); // 把返回的数据添加到页面上
                    });
       })
    })


//第三种:JSON文件
/*
JSON具有两种格式,一种是键值对形式{"":""},另外一种是数组形式[{"":""},{"":""}]

注意:JSON的格式非常严格,构建的JSON文件必须完整无误,任何一个括号的不匹配或者缺少逗号,都会导致页面上的脚本终止运行,比如我们返回的数据都必须要有双引号,必须是{"username":"dqf"},而不能是{username:"dqf"}.
*/ 

//后台代码返回一个JSON字符串数组(这是一个省市二级联动的前后台)
List<City> citylist = cityService.getCityByProvince(proid);

        Iterator<City> 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<ok.length;i++){
                        var city=ok[i].cityname;
                        $("#city").append("<option>" + city + "</option>");
                    }}
            );

3.$.post()

.get() .get())

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值