加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax 中的GET和POST

发布时间:2020-12-16 03:16:26 所属栏目:百科 来源:网络整理
导读:Get和Post是两种传值方式,当我们不通过重新加载页面,用Ajax访问服务器的时候,有两个选择可以将请求信息传送到服务器上。这两个选择分别是GET和POST。Get和Post都是向服务器发送的一种请求,只是发送机制不同。 GET GET的目的就如同其名字一样是用于获取信

Get和Post是两种传值方式,当我们不通过重新加载页面,用Ajax访问服务器的时候,有两个选择可以将请求信息传送到服务器上。这两个选择分别是GET和POST。Get和Post都是向服务器发送的一种请求,只是发送机制不同。

GET

GET的目的就如同其名字一样是用于获取信息的。它旨在显示出页面上你要阅读的信息。浏览器会缓冲GET请求的执行结果,如果同样的GET请求再次发出,浏览器就会显示缓冲的结果而不是重新运行整个请求。这一流程不同于浏览器的处理过程,但是它是有意设计成这样以使GET调用更有效率。GET调用会检索要显示在页面中的数据,数据不会在服务器上被更改,因此重新请求相同数据的时候会得到相同的结果。

demo示例

//获取所有商品类别 
    $.ajax({
        type: "GET",url: "/ItemManager2/QueryItemCategory",// controller里面的方法地址
        dataType: "json",success: function (data) {
            //测试是否有数据传入
            if (data.length >= 0) {
            //alert("商品类别有数据!");
                //定义一个变量存放数据
                var data1 = [{ 'text': ' ','id': ' ' }];
                //循环,向变量里添加数据
                for (var i = 0; i < data.length; i++) {
                    data1.push({ "text": data[i].CategoryName,"id": data[i].CategoryID });   //todo:传入商品类别
                }
                //在下拉框中加载变量中的数据
                $('#cmb_itemcategory').combobox("loadData",data1);
                $('#itemcategoryname').combobox("loadData",data1);
            }
        },error: function (data) {
            alert("系统出错了,请联系管理员!");
        }
    })

POST

POST方法应该用于你需要更新服务器信息的地方。如某调用要更改保存在服务器上的数据,而从两个同样的POST调用返回的结果或许会完全不同,因为第二个POST调用的值与第一个的值不相同,这是由于第一个调用已经更新了其中一些值。POST调用通常会从服务器上获取响应而不是保持前一个响应的缓冲。

demo示例

function addItem() {

     if ($('#itemno').val() == '' || $('#itemname').val() == '' || $('#itembrand').val() == ''
        || $('#itemspec').val() == '' || $('#itemprice').val() == '' || $('#itemcategoryname').val() == ''
        || $('#isconsumeable').val() == '' || $('#explain').val() == '') {
        alert('请完善商品信息!');
        return;
    }
     else {
        //将页面的值传给controller
         $.ajax({
             type: "POST",url: "/ItemManager2/additem",data: "&itemno=" + $("#itemno").val() + "&itemname=" + $("#itemname").val() + "&itembrand=" + $("#itembrand").val() + "&itemspec=" + $("#itemspec").val() + "&itemprice=" + $("#itemprice").val() + "&itemcategoryname=" + $("#itemcategoryname").val() + "&isconsumable=" + $("#isconsumable").val() + "&itemstatus=" + $("#itemstatus").val() + "&explain=" + $("#explain").val(),dataType: "json",success: function (data) {
                 alert("添加商品成功");            
             },});
    }
}

总结

如果调用是要检索服务器上的数据则使用GET。如果要检索的值会随时间和更新进程的改变而改变则要在GET调用中添加一个当前时间参数,这样后面的调用才不会使用先前的不正确的缓冲。如果调用是向服务器上发送任意数据,就可以使用POST。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读