成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery調用Webservice傳遞json數組的方法
全站頭部文字 我要出現在這里
jQuery調用Webservice傳遞json數組的方法 831 2024-02-22   

本文實例講述了jQuery調用Webservice傳遞json數組的方法。分享給大家供大家參考,具體如下:

Jquery由于提供的$.ajax強大方法,使得其調用webservice實現異步變得簡單起來,可以在頁面上傳遞Json字符串到Webservice中,Webservice方法進行業務處理后,返回Json對象給頁面,讓頁面去展現。

這一切都非常的簡單,今天要學習的并非這些。我們在實際處理業務過程中,會發現往往頁面要傳遞給webservice 的并非一個或多個字符串,有時候需要傳遞的是一個組合數據,如這樣的一組數據:

{'Employee': [{'name':'John','sex':'man','age':'25'},{'name':'Tom','sex':'man','age':'21'}]}

客戶端將這樣的Json字符串作為$.ajax方法的data參數是沒有問題的,然而,服務端的webservice該如何去寫接收參數卻成為了一個問題。在百度、谷歌了一番后,只發現提問的卻沒有回答的。索性還是自己去研究吧,發現其實Employee對象首先是一個數組,其次數組的每一項都是一個Dictionary<string,string>字典類型。于是我嘗試在服務端使用Dictionary<string,string>[] Employee來接收客戶端傳遞的參數,一切如我所料,成功!

客戶端代碼如下:

//JQuery 調用webService導入數據
function LoadData() {
    var studentData = CollectionData();
    $.ajax({
      url: "ImportDataService.asmx/ImportStu",
      type: "post",
      contentType: "application/json;charset=utf-8",
      dataType: "json",
      data: "{'students':[{'name':'KoBe ','sex':'boy','age':'20'},{'name':'Mary','sex':'girl','age':'19'}]}",
      success: function(result) {
        alert(result.d);
      },
      error: function(e) {
        alert(e.responseText);
      }
    });
}

服務端代碼如下:

/// <summary>
///
/// </summary>
/// <param name="students"></param>
/// <returns></returns>
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string ImportStu(Dictionary<string,string> []students)
{
  if (students.Length == 0)
  {
    return "沒有任何數據!";
  }
  else
  {
    try
    {
      foreach (Dictionary<string, string> stu in students)
      {
        //構造一個新的Student對象。
        Student student = new Student();
        //為新構造的Student對象屬性賦值。
        foreach (string key in stu.Keys)
        {
          switch (key)
          {
            case "name":
              student.Name = stu[key];
              break;
            case "sex":
              student.Sex = stu[key];
              break;
            case "age":
              int age;
              if (Int32.TryParse(stu[key], out age))
              {
                student.Age = age;
              }
              else
              {
                student.Age = 0;
              }
              break;
            default:
              break;
          }
        }
      }
      return "導入學生成功!";
    }
    catch
    {
      throw new Exception("導入學生失敗!");
    }
  }
}

需要注意的是,服務端參數名需要和客戶端Json數組的key值相同,如上代碼中,參數名都為students。

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery拖拽特效與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》

希望本文所述對大家jQuery程序設計有所幫助。


Web

主站蜘蛛池模板: 邵雨薇电影| 秀人网美女屋| 彭丹丹最惊艳的电影| 护航电影| 电视剧热播剧大全| 阮经天新电影| 湖南卫视节目表今天| 贝加尔湖畔钢琴谱| 王春晖| 詹妮弗康纳利的电影| 刘禹| 男孩变女孩tg动画| 马明威| marc dorcel航空系列| 秀人网周妍希| 电影电车| 烽火流金电视剧| 《七律长征》的简笔画| 巴黎最后的探戈| 五年级上册学法大视野答案| 孽扣| 让我听懂你的语言歌词| 胎儿双顶径标准对照表| 深夜影院一级毛片| 同性恋免费观看| 狐狸电影| 削发| 挨打的视频| 鬼龙院花子的一生| 2025年最旺财聚财壁纸| 罗丽·星克莱尔性迷宫| 迷案1937电视剧剧情介绍| 少女频道电影在线观看中文版| 扫毒3:人在天涯 电影| 变形金刚1免费完整版在线观看| 大空头 电影| 邓为个人资料及简历| 燕赵刑警演员表| 茅山道士在线观看| 推拿电影| 上门女婿电影完整版免费|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103