浅谈对Jquery+JSON+WebService的使用小结

Jquery作为一款优秀的JS框架,简单易用的特性就不必说了。在实际的开发过程中,使用JQ的AJAX函数调用WebService

的接口实现AJAX的功能也成了一种比较普遍的技术手段了。WebService接口的实现,通常都是由OOP语言实现的。所以

在WebService的接口函数中,难免可能会遇到除了简单数据类型的复杂数据类型。复杂的数据的数据类型机有可能是

WebService接口中的参数,也有可能是WebService的返回值。本文所叙述的要点为:

1、对于WebService接口复杂类型的参数,JQ调用的时候传入的JSON数据应该如何表示。?

2、JQ对WebService调用获取JSON数据类型。

3、JQ调用的时对Webservice返回的复杂数据类型有什么样要求。?

环境:JQ版本:1.4.2、VS2008 SP1。

测试一:对于WebService简单参数类型:

复制代码 代码如下:


WebService接口函数代码如下:

    [WebMethod(Description = "测试方法")]
    public string ProcessPersonalInfo(Person person)
    {
        return person.Name + person.Tel;
    }
    JQ调用代码如下:

        $.ajax({

        type: "POST",

        url: "WebService1.asmx/GetString",

        dataType: "json",

        contentType: "application/json; charset=utf-8",

        data: "{'name':'zhangsan'}",

        success: function(json) { alert(json.d) },

        error: function(error) {

        alert("调用出错" + error.responseText);

        }
    });


提示:在$.ajax函数中,data必须要以字符串的形式表示JSON,而不能直接用JSON数据传进去。可能有些朋友对JSON对象和JSON对象的字符串

不大好区分,其实,字符串类似C#里用“”引起来的东西,而JSON对象是直接写在{}中的。简单的测试方法是直接通过alert函数弹出,如果显示[object:object]

则为JSON对象,否则就是一个字符串。

结果如下图:

浅谈对Jquery+JSON+WebService的使用小结

浅谈对Jquery+JSON+WebService的使用小结

测试二:对于WebService复杂参数类型:

复制代码 代码如下:


WebService接口函数代码如下:

        [WebMethod(Description = "测试方法")]
        public string ProcessPersonalInfo(Person person)
        {
            return person.Name + person.Tel;
        }

        Person实体:

        public class Person
        {
            public string Name { get; set; }

            public int Age { get; set; }

            public string Address { get; set; }

            public string Tel { get; set; }

        }

JQ调用代码如下:

        $.ajax({

            type: "POST",

            url: "WebService1.asmx/ProcessPersonalInfo",

            dataType: "json",

            contentType: "application/json; charset=utf-8",

            data: "{'person':{'Name':'zhangsan','Age':28,'Address':'beijing',Tel:'01082658866'}}",

            success: function(json) { alert(json.d) },

            error: function(error) {

                alert("调用出错" + error.responseText);
            }
        });

  结果如下图:

浅谈对Jquery+JSON+WebService的使用小结

浅谈对Jquery+JSON+WebService的使用小结

调用过程与简单参数类型类似,就是通过在JS中用一个表示Person的person对象的字符串,发往客户端后,WebService会自动将person对象的字符串

转换为Person实体对象。

测试三:对于WebService复杂返回类型

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjgsyy.html