最新消息:文章中包含代码时,请遵守代码高亮规范!

jQuery – AJAX get() 和 post() 方法

原创文章 user 109浏览 0评论

jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。

HTTP请求:get和post

  • 1:get- 从指定的资源请求数据2:post – 向指定的资源提交要处理的数据

GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。

POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。

jQuery $.get() 方法

$.get() 方法通过 HTTP GET 请求从服务器上请求数据。

$.get(URL,callback);
$("button").click(function(){
  $.get("url",function(data,status){
    alert("Data: " + data + "nStatus: " + status);
  });
});

必需的 URL 参数规定您希望请求的 URL。

可选的 callback 参数是请求成功后所执行的函数名。

jQuery $.post() 方法

$.post() 方法通过 HTTP POST 请求向服务器提交数据。

$.post(URL,data,callback);

必需的 URL 参数规定您希望请求的 URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。

$.post("emp.do?p=getAllEmp",{id:deptId,x:Math.random()},function(data){
    var arry = eval("("+data+")");//去引号,将json字符串去引号编程json类型数组,也可以在$.post函数后面加一个参数"json",指定接收的数据为json类型的
    for(var i=0;i<arry.length;i++){
       var op = new Option(arry[i].empName,arry[i].empId);
       document.getElementById("emp").options.add(op);
    }
});

jQuery $.ajax()方法

ajax() 方法用于执行 AJAX(异步 HTTP)请求。

所有的 jQuery AJAX 方法都使用 ajax() 方法

//根据id查询数据
$.ajax({
type:"POST",    //请求类型
url: "你的url地址",
dataType:"json",//服务器返回的数据类型
async: false,    //是否同步
data:{             //这里需要注意的是,这个data是做为参数传值到后台的,因为是post,所以可以定义多个
"id" : id
//"name": "youName",      //注意,这里只是示范,冒号前面为变量名称,后面为需要传递的值
//"age" : "youAge",
//"sex" : "youAge",
//"other" : "other"
},
success:function(data){    //回调结果,如果成功
if(data.status == 0){    //判断状态码
//刷新
    $("#easyuiDatagrid").datagrid("reload");
  }
},
failure:function(result) {
     parent.$.messager.show({title : "提示",msg : "失败,请联系管理员",timeout : 3000});
   }
});

get和post区别如下:

      1. get是从服务器上获取数据,post是向服务器传送数据。 

      2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 

      3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

      4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 

      5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

在什么情况下使用post,什么情况下使用get?

        1:如下情况使用GET方法:客户端与服务端的交互像是一个提问(如查询操作、搜索操作、读操作) 
       2:如下情况使用POST方法: 
             (1. 交互是一个命令或订单(order),比提问包含更多信息 。
             (2. 交互改变了服务器端的资源并被用户察觉,例如订阅某项服务 。
             (3. 用户需要对交互产生的结果负责 。

       根据HTTP协议规定,GET方法可以携带交互需要的所有数据,因此你会看到搜索百度或谷歌的时候,点击搜索形成的URL包含了你刚才的搜索关键字,没有安全需求的请求把信息放URL里没关系,但是你访问银行网站的时候,不希望把账户、密码这些放在URL里被人拦截是吧,所以HTTP设计了POST请求,他可以把请求信息放在HTTP请求里,这样你就不能简单的从URL里找到账户、密码了。 

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25293.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情