jQuery.get()方法:php
$.get(url,data,success(response,status,xhr),dataType)
该函数是简写的 Ajax 函数,等价于:html
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
根据响应的不一样的 MIME 类型,传递给 success 回调函数的返回数据也有所不一样,这些数据能够是 XML root 元素、文本字符串、JavaScript 文件或者 JSON 对象。也可向 success 回调函数传递响应的文本状态。jquery
参数 | 描述 |
---|---|
url | 必需。规定将请求发送的哪一个 URL。 |
data | 可选。规定连同请求发送到服务器的数据。 |
success(response,status,xhr) | 可选。规定当请求成功时运行的函数。ajax 额外的参数:json
|
dataType | 可选。规定预计的服务器响应的数据类型。数组 默认地,jQuery 将智能判断。安全 可能的类型:服务器
|
使用 AJAX 的 GET 请求来改变 div 元素的文本:网络
$("button").click(function(){ $.get("demo_ajax_load.txt", function(result){ $("div").html(result); }); });
jQuery.post()方法:app
$.post(url,data,success(data, textStatus, jqXHR),dataType)
该函数是简写的 Ajax 函数,等价于:
$.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType });
根据响应的不一样的 MIME 类型,传递给 success 回调函数的返回数据也有所不一样,这些数据能够是 XML 根元素、文本字符串、JavaScript 文件或者 JSON 对象。也可向 success 回调函数传递响应的文本状态。
参数 | 描述 |
---|---|
url | 必需。规定把请求发送到哪一个 URL。 |
data | 可选。映射或字符串值。规定连同请求发送到服务器的数据。 |
success(data, textStatus, jqXHR) | 可选。请求成功时执行的回调函数。 |
dataType | 可选。规定预期的服务器响应的数据类型。 默认执行智能判断(xml、json、script 或 html)。 |
使用 AJAX 的 GET 请求来改变 div 元素的文本:
$("input").keyup(function(){ txt=$("input").val(); $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){ $("span").html(result); }); });
实例:
一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。若是须要在出错时执行函数,请使用 $.ajax。示例代码:
Ajax.aspx:
Response.ContentType = "application/json";Response.Write("{result: '" + Request["Name"] + ",你好!(这消息来自服务器)'}");
jQuery 代码:
$.post("Ajax.aspx", { Action: "post", Name: "lulu" }, function (data, textStatus){ // data 能够是 xmlDoc, jsonObj, html, text, 等等. //this; // 这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this alert(data.result);
}, "json");
点击提交:
这里设置了请求的格式为"json":
$.ajax()这个是jQuery 的底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。
这里有几个Ajax事件参数:beforeSend ,success ,complete ,error 。咱们能够定义这些事件来很好的处理咱们的每一次的Ajax请求。
$.ajax({ url: 'stat.php', type: 'POST', data:{Name:"keyun"}, dataType: 'html', timeout: 1000, error: function(){alert('Error loading PHP document');}, success: function(result){alert(result);} });
$.get()与$.post()的区别:
《计算机网络》对POST和GET方法在HTTP协议中的简单解释:HTTP协议定义了通讯的两种报文:请求报文和响应报文。对于请求报文来讲,它的通用格式包含三个主要部分:请求行、首部行、实体主体。一般请求行的格式为:方法字段 、 URL字段、 HTTP协议版本字段,其中方法字段就包括GET、POST方法等。
当方法字段是GET方法时内容主体为空,而是用POST方法时才使用实体主体。
HTTP客户机一般在用户提交表单时使用POST方法,这时,实体主体中所包含的就是用户在表单中的输入值。固然,GET方法也能够提交表单中的数据,它是经过将用户在表单中的输入值传送到正确的URL来实现的。这就是咱们一般所看到的http://ei.hust.edu.cn?username="libis"&age=12。
能够看出,在表单提交的方式上二者存在很大的不一样:
除此以外,GET方法和POST方法另外一个重要的区别是:
$.ajax()须要注意的一些地方:
1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;经过dataType指定,不指定智能判断。
2.$.ajax只提交form以文本方式,若是异步提交包含<file>上传是传过不过去,须要使用jquery.form.js的$.ajaxSubmit
$.ajax() 实际应用例子
//1.$.ajax带json数据的异步请求 var aj = $.ajax( { url:'productManager_reverseUpdate',// 跳转到 action data:{ selRollBack : selRollBack, selOperatorsCode : selOperatorsCode, PROVINCECODE : PROVINCECODE, pass2 : pass2 }, type:'post', cache:false, dataType:'json', success:function(data) { if(data.msg =="true" ){ // view("修改为功!"); alert("修改为功!"); window.location.reload(); }else{ view(data.msg); } }, error : function() { // view("异常!"); alert("异常!"); } }); //2.$.ajax序列化表格内容为字符串的异步请求 function noTips(){ var formParam = $("#form1").serialize();//序列化表格内容为字符串 $.ajax({ type:'post', url:'Notice_noTipsNotice', data:formParam, cache:false, dataType:'json', success:function(data){ } }); } //3.$.ajax拼接url的异步请求 var yz=$.ajax({ type:'post', url:'validatePwd2_checkPwd2?password2='+password2, data:{}, cache:false, dataType:'json', success:function(data){ if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改成pwd2Error,这是异步,须要考虑返回时间 { textPassword2.html("<font color='red'>业务密码不正确!</font>"); $("#validatePassword2").val("pwd2Error"); checkPassword2 = false; return; } }, error:function(){} }); //4.$.ajax拼接data的异步请求 $.ajax({ url:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action', type:'post', data:'merName='+values, async : false, //默认为true 异步 error:function(){ alert('error'); }, success:function(data){ $("#"+divs).html(data); } });