zoukankan      html  css  js  c++  java
  • .net 3.5中ajax调用webservice中方法 总结

    今天看了webCast的一个 张义先老师的VS2008新特性之AJAX介绍视屏,中间讲到“ajax调用webservice中的方法”,当时张老师没有将这个Demo做出来,看完之后摸索了好久才搞明白是怎么回事,现在将经验分享给大家,希望对各位.net学习者有所帮助。

    目的:在前台就用AJAX调用WebService中的方法

    代码如下:

    WEBSERVICE代码:

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

    /// <summary>
    ///HelloService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class HelloService : System.Web.Services.WebService {

        public HelloService () {

            //如果使用设计的组件,请取消注释以下行
            //InitializeComponent();
        }

        [WebMethod]
        [ScriptMethod]
        public string HelloWorld() {
            return "abcdefg";
        }
    }

    aspx代码:

    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
            <asp:ServiceReference Path="~/HelloService.asmx" />
            </Services>
            </asp:ScriptManager>
            <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
        </div>
        </form>

        <script language="javascript" type="text/javascript">

            function Button1_onclick() {
               HelloService.HelloWorld(onGetSuccess);
            }

            //正是在上面张老师犯错了。在webservice中可以看到,HelloWorld方法并没有参数,此处的参数为,当调用服务器事件成功后执行的函数

           //正是由于HelloWorld方法返回的是一个字符串的值,所以此方法有STR参数保存返回的值。
            function onGetSuccess(str) {
            alert(str);
            }

        </script>

    --------- THE END --------------------

    ---------HFUTWYY原作----------------

  • 相关阅读:
    DAY21
    DAY20
    DAY19
    @Autowired注解和静态方法
    PageHelper.startPage和new PageInfo(list)的一些探索和思考
    escape()、encodeURI()、encodeURIComponent()区别详解
    每日日报29
    1dialog 表单最基本的封装
    mongoose
    数组
  • 原文地址:https://www.cnblogs.com/hfutwyy/p/2122194.html
Copyright © 2011-2022 走看看