ajax提交url與ajax提交表單的詳細比較_AJAX相關

來源:互聯網
上載者:User

1:ajax自已構造一個url,這種方式傳參數要用Data,不能用於表單提交。
例:

複製代碼 代碼如下:

         function createHtml(id){
            $("#reloading").show();
             //edit_bg是個div,提交時顯示,這樣可以使背景頁面不能操作。
            $("#edit_bg").show();
            $.ajax({
            type: "POST",
            url: "pageAction!createHtml.action",
            data: "id="+id,
            success: function(data){
            $("#reloading").hide();
            $("#edit_bg").hide();
            if(data == "true"){
            alert("操作成功。");
              }else{
                    alert("操作失敗,請聯絡管理員!");
                    }
                    }   //操作成功後的操作
                  }); 
                   }

2:ajax提交表單,這對於大資料轉送非常有用,如使用者註冊,資訊量非常大,用ajax提交表單,頁面比較美觀 但是,對於ajax提交表單,我們還得引入一個js,即:jquery.form.js"
例:
複製代碼 代碼如下:

    function uploadFile(){

      $("#reloading").show();
      $("#edit_bg").show();
       //form1為表單名
      $("#form1").ajaxSubmit({
      type: "POST",
      success: function(data){
      $("#reloading").hide();
      $("#edit_bg").hide();
      if(data.indexOf("true")!=-1){
      alert("操作成功。");
      }else{
      alert(data);
       alert("操作失敗,請聯絡管理員!");
      }
        }   //操作成功後的操作
       }); 
         }

3: 2項中ajax提交表單雖然可以正確操作,但返回的data資料有問題,頁面得不到處理結果。如下的代碼對ajax提交表單進行了糾正
複製代碼 代碼如下:

    function submitForm(){
$('#form1').ajaxSubmit(ajaxOptionsNew); 
       }

   var ajaxOptionsNew = { 
                beforeSubmit : fn_check_form, 
                success : showResponse, 
                url : "costAtion!save2.action", 
                error : function(XMLResponse) { 
                    alert(XMLResponse.responseText);  
                    alert('操作失敗!');
                   // window.location.reload();
                } 
            }; 

 

function fn_check_form(){
    if($("#Name").val() == ""){
alert("人不可為空");
$("#Name").focus();
return false;
}
       }

  function showResponse(responseText) { 
               try{ 
                //alert(responseText);
                   if(responseText == 'true'){ 
                        alert('操作成功!');
                        window.location.reload();
                   }
                   else if(responseText == 'paramFalse')
                   {
                    alert("必填參數不可為空!")
                   }
                   else if(responseText == 'timeError')
                   {
                     alert("出發時間不能大於報銷時間!");
                   }
                   else{ 
                        alert('操作失敗!'); 
                     //   window.location.reload();
                    } 
                }catch(e){alert(e.message);} 
        } 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.