http://www.aygfsteel.com/ebecket 返還網
          隨筆-140  評論-11  文章-131  trackbacks-0
          jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行異步請求

          參數:

          url (String) : 發送請求的URL地址.

          data (Map) : (可選) 要發送給服務器的數據,以 Key/value 的鍵值對形式表示。

          callback (Function) : (可選) 載入成功時回調函數(只有當Response的返回狀態是success才是調用該方法)。

          type (String) : (可選)官方的說明是:Type of data to be sent。其實應該為客戶端請求的類型(JSON,XML,等等)

          這是一個簡單的 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);}

          });

          ?

          //add by Q at 2008.11.25

          今天遇到一個jquery的post的小問題

          因為要批量刪除,所以開始用循環的post到那個url,然后刷新本頁

          這就出現問題了

          ?

          $("input[@name='qa_checkbox']").each(function()
          {
          ????
          if($(this).attr('checked')?==?undefined)
          ????{
          ????????????????
          ????}
          ????
          else
          ????{
          ????????$.post(url,{Action:
          "POST"},function(data){alert(data);window.location.reload();},?"text");
          ????????????????
          ????}
          })


          這么用的話 只能刪除第一條數據;

          ?

          $("input[@name='qa_checkbox']").each(function()
          {
          ????
          if($(this).attr('checked')?==?undefined)
          ????{
          ????????????????
          ????}
          ????
          else
          ????{
          ????????$.post(url
          +$(this).val(),{Action:"POST"},function(data){alert(data);},?"text");
          ????????????????
          ????}
          })

          window.location.reload();

          ?

          這樣用的話,雖然可以刪除,也能刷新本頁,貌似reload是在post的function之前運行,但是post會報錯,其中原因有待研究;

          最終想了折中的辦法?

          $("input[@name='qa_checkbox']").each(function()
          ????????{
          ????????????
          if($(this).attr('checked')?==?undefined)
          ????????????{
          ????????????????
          ????????????}
          ????????????
          else
          ????????????{
          ????????????????url?
          =?url?+?$(this).val()?+?'_';
          ????????????????
          ????????????}
          ????????})
          ????????$.post(url,{Action:
          "POST"},function(data){alert(data);window.location.reload();},?"text");
          ????}

          ?

          把要刪除的id連成字符串,用一次post處理,把reload放在post的function里 就沒有問題了

          posted on 2009-10-28 14:17 becket_zheng 閱讀(452) 評論(0)  編輯  收藏 所屬分類: 網頁web前端技術
          主站蜘蛛池模板: 太谷县| 太仆寺旗| 无为县| 桐梓县| 南澳县| 驻马店市| 玉林市| 临夏市| 含山县| 军事| 满洲里市| 安福县| 临桂县| 商洛市| 静宁县| 额济纳旗| 旌德县| 黄浦区| 白城市| 扎鲁特旗| 怀仁县| 咸阳市| 镇康县| 陆川县| 曲阜市| 阿巴嘎旗| 迭部县| 象山县| 库尔勒市| 会宁县| 确山县| 太仆寺旗| 自治县| 太保市| 青浦区| 博爱县| 思茅市| 乃东县| 海淀区| 乐亭县| 海伦市|