Jquery ajax传递复杂参数给WebService

参考:

http://www.cnblogs.com/kingge/archive/2011/08/04/2127642.html

http://www.cnblogs.com/micromouse/archive/2010/08/14/1799464.html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Entity
{
    [DataContract]
    public class User
    {
        [DataMember]
        public string Name
        {
            get;
            set;
        }

        [DataMember]
        public int Age
        {
            get;
            set;
        }
    }
}
WebService:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using Entity;

namespace JQuery.Handler
{

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class UserService1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string ComplexType(User hero,List<User> users)
        {
            return hero.Name + " has " + users.Count + " people!";
        }
    }
}
Html:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Ajax</title>
    <script src="../Scripts/jquery-1.6.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnWeb").click(function () {
                $.ajax(
                {
                    type: "post",
                    url: "../Handler/UserService.asmx/ComplexType",
                    dataType:"json",
                    contentType:"application/json",
                    data: ‘{"hero": {"Name":"zhoulq","Age":27},"users":[{"Name":"zhangs","Age":22},{"Name":"wangw","Age":26},{"Name":"liuj","Age":25},
                           {"Name":"luos","Age":24}]}‘,
                    success: function (data) { $("#web").text(data.d); }
                });
            });
        });
    </script>
</head>
<body>
    <input id="btnWeb" type="button" value="请求WebService" /><label id="web"></label>
</body>
</html>
时间: 2024-08-12 23:48:17

Jquery ajax传递复杂参数给WebService的相关文章

jQuery ajax传递特殊字符参数(例如+)

使用jQuery ajax向后台传递参数para=1+1时后台接收到的参数为para=1 1,解决方案是 使用json传递,代码如下. var url = "/test/check"; $.ajax({ type: "post", url: url, // data: "para=1+1", data为字符串时 后台接收到的参数为 1 1 data: {"para":1+1}, // data为json数据时 后台接收到的参数

ASP.NET jquery ajax传递参数

第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: function LoadBar(id) { var project = id; var month = $("#txtMonth").val(); $.ajax({ type: "GET", async: false, url: 'GetProjectScore.aspx?p

jQuery ajax的traditional参数的作用///////////////////////////////////zzzzzzzzzzz

jQuery ajax的traditional参数的作用 i33 发布时间: 2013/04/03 10:05 阅读: 9859 收藏: 9 点赞: 1 评论: 0 一般的,可能有些人在一个参数有多个值的情况下,可能以某个字符分隔的形式传递,比如页面上有多个checkbox: $.ajax{ url:"xxxx", data:{ p: "123,456,789" } } 然后后台获取参数后再分隔,这种做法有很大弊端,试问如果某一个参数值中出现了分隔符所使用的字符,会

jquery ajax传递数组给php

写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://www.cnblogs.com/ini_always/archive/2011/12/17/2291290.html jquery ajax传递数组给php,布布扣,bubuko.com

jQuery ajax传递特殊字符串问题

当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,如“+”表示连接符,在转义后你获取到的就是空格.可以看看这些特殊字符与十六进制的关系: + 空格 / ? % & = # %2B %20 %2F %3F %25 %26 &3D %23 如果变量中确实需要包含这些特殊字符,请用encodeURIComponent()函数过滤,它会对这些字符编码,服务器端是会被自动解码的,不需要处理.另外,尽量提交json格

jQuery ajax 传递JSON数组到Spring Controller

jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relationArrays=new Array();  //获取所有组的人员信息grid数据  var allGrid= $(".userGrid");  for(var i=0;i<allGrid.length;i++){    var rows=$(allGrid[i]).datagrid(&

mvc jquery ajax传递数组null问题

mvc jquery ajax传递数,  areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然含有一个元素0,非常诡异,有空再查找具体原来.后来想传空时不再用Null,改成[],这样就ok了.很奇怪 function refreshStoreHouseDatas(marketId,areaIds,selectedValues) { var data = { marketId: marketId, ar

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

jASP.NET jquery ajax传递参数

转自:https://www.cnblogs.com/umlzhang/p/3654486.html 第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: function LoadBar(id) {    var project = id;    var month = $("#txtMonth").val();    $.ajax({