AJAX--前后台交互


注:ajax通過async參數決定是異步還是同步,false同步,true異步;

  異步執行順序是先執行后續動作,再執行success里代碼;

  同步是先執行success里代碼,再執行后續代碼;

驗證:同步時數據量大是否會卡頓?例如從后台搜索大量數據時,頁面是否卡死?

1、(異步)方法調用,后續代碼不需要等待它的執行結果
  后台<C#>:

using System.Web.Script.Services; 
 
[WebMethod]
public static string GetStr(string str1, string str2)
{
    return str1 + str2;
}
 
前台<JQuery>:

function Test(strMsg1,strMsg2)
{
    $.ajax({
        type: "Post",
        url: "Demo.aspx/GetStr",
        async: true,
        //方法傳參的寫法一定要對,與后台一致,區分大小寫,不能為數組等,str1為形參的名字,str2為第二個形參的名字
        data: "{'str1':'"+strMsg1+"','str2':'"+strMsg2+"'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data) {
            //返回的數據用data.d獲取內容
            alert(data.d);
        },
        error: function(err) {
            alert(err);
        }
    });

  //隱藏加載動畫
    $("#pageloading").hide();
}

 

2、(同步)方法調用,可用於需要得到返回值是執行后續代碼的前提

  后台<C#>:

using System.Web.Script.Services; 
 
[WebMethod]
public static string GetStr(string str1, string str2)
{
    return str1 + str2;
}
 
前台<JQuery>:

function Test(strMsg1,strMsg2)
{

 var str = “”;
    $.ajax({
        type: "Post",
        url: "Demo.aspx/GetStr",
        async: false,
        //方法傳參的寫法一定要對,與后台一致,區分大小寫,不能為數組等,str1為形參的名字,str2為第二個形參的名字
        data: "{'str1':'"+strMsg1+"','str2':'"+strMsg2+"'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data) {
            //返回的數據用data.d獲取內容 
            str = data.d;
        },
        error: function(err) {
            alert(err);
        }
    });

 return str;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM