当前位置:  编程技术>jquery

Jquery调用Webservice传递Json数组

    来源: 互联网  发布时间:2014-09-03

    本文导语:  在实际处理业务过程中,会发现往往页面要传递给webservice 的并非一个或多个字符串,有时需要传递的是一个组合数据,如这样的一组数据:   代码示例: {'Employee': [{'name':'John','sex':'man','age':'25'},{'name':'Tom','sex':'man','age':'21'}]} ...

在实际处理业务过程中,会发现往往页面要传递给webservice 的并非一个或多个字符串,有时需要传递的是一个组合数据,如这样的一组数据:
 

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

客户端将这样的Json字符串作为$.ajax方法的data参数是没有问题的,然而,服务端的webservice该如何去写接收参数却成为了一个问题。

其实Employee对象首先是一个数组,其次数组的每一项都是一个Dictionary字典类型。

于是,尝试在服务端使用Dictionary[] 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);
}
      });
  }

二,服务端代码
 

代码示例:

///
///
///
///
///
 [WebMethod]
 [ScriptMethod(ResponseFormat=ResponseFormat.Json)]
  public string ImportStu(Dictionary []students)
{
  if (students.Length == 0)
  {
      return "没有任何数据!";
  }
  else
  {
try
{
foreach (Dictionary 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进行数组遍历如何跳出当前的each循环
  • jquery数组过滤筛选方法grep()简介
  • Web服务器/前端 iis7站长之家
  • jquery数组之存放checkbox全选值示例代码
  • jquery如何把数组变为字符串传到服务端并处理
  • jquery遍历筛选数组与遍历解析json对象
  • jquery数组处理的经典例子
  • jquery中each遍历对象和数组示例
  • Jquery操作js数组及对象示例代码
  • jquery数组封装使用方法分享(jquery数组遍历)
  • jquery基础教程之数组使用详解
  • jquery遍历筛选数组、遍历解析json对象的方法
  • jquery遍历筛选数组的几种方法和遍历解析json对象
  • jquery live()调用不存在的解决方法
  • jquery、js调用iframe父窗口与子窗口元素的方法整理
  • 浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
  • jquery getJSON跨域调用数据的例子
  • 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
  • jQuery加载或调用CSS文件的例子
  • Jquery ajax调用action返回值的问题
  • 在jquery中的ajax方法怎样通过JSONP进行远程调用
  • jquery中的ajax方法怎样通过JSONP进行远程调用
  • jquery动态调用css文件方法示例
  • Jquery Ajax解析XML数据(同步及异步调用)简单实例
  • JQuery与Ajax调用新浪API获取短网址的代码
  • JQuery调用WebServices的方法和4个实例
  • jQuery dialog 异步调用数据(webserivce或ashx)的实现代码
  • jquery $.ajax()调用asp.net后台的方法
  • jquery ajax jsonp跨域调用实例代码
  • jQuery ajax调用WCF服务实例
  • jQuery调用RESTful WCF示例代码(GET方法/POST方法)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin
  • jQuery日历插件 jQuery Week Calendar
  • jQuery的中文日历插件 jQuery.datePickerCn
  • jQuery实现CSS3动画效果的插件 jQuery Transit
  • jQuery的CSV插件 jQuery CSV
  • jQuery的气泡提示插件 jquery.ns_bub.js
  • jQuery气泡提示插件 jquery-rollover-tooltip
  • jQuery对话框 jQuery Modal Dialog
  • jQuery 插件 jQuery Ripples
  • 精简版的jQuery jQuery.ish
  • jQuery的OpenSocial插件 OpenSocial jQuery


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3