標籤:style blog http io color ar os 使用 sp
Jquery在非同步提交方面封裝的很好,直接用AJAX非常麻煩,Jquery大大簡化了我們的操作,不用考慮瀏覽器的詫異了。
推薦一篇不錯的jQuery Ajax 執行個體文章,忘記了可以去看看,地址為:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/
$.post、$.get是一些簡單的方法,如果要處理複雜的邏輯,還是需要用到jQuery.ajax()
一、$.ajax的一般格式
$.ajax({
type: ‘POST‘,
url: url ,
data: data ,
success: success ,
dataType: dataType
});
二、$.ajax的參數描述
參數 描述
| url |
必需。規定把請求發送到哪個 URL。 |
| data |
可選。映射或字串值。規定連同請求發送到伺服器的資料。 |
| success(data, textStatus, jqXHR) |
可選。請求成功時執行的回呼函數。 |
| dataType |
可選。規定預期的伺服器響應的資料類型。
預設執行智能判斷(xml、json、script 或 html)。 |
三、$.ajax需要注意的一些地方:
1.data主要方式有三種,html拼接的,json數組,form表單經serialize()序列化的;通過dataType指定,不指定智能判斷。
2.$.ajax只提交form以文本方式,如果非同步提交包含<file>上傳是傳過不過去,需要使用jquery.form.js的$.ajaxSubmit
四、$.ajax我的實際應用例子
Js代碼
- //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);
- }
- });
jQuery Ajax 執行個體 ($.ajax、$.post、$.get)