zoukankan      html  css  js  c++  java
  • asp.net ajax1.0 使用js调用webSerivce

    看了一个使用asp.net ajax1.0中使用js调用webserivce的方法。感觉很简单。可能以后会用到。

    使用原来默认的web.config因为其中有这样的代码段:

    <system.web>
      <httpHandlers>
        <remove verb="*" path="*.asmx"/>    <add verb="*" path="*.asmx"      type="System.Web.Script.Services.ScriptHandlerFactory"       validate="false"/>
      </httpHandlers>
    <system.web>

    然后新建一个webserivce页面。这都没什么说的拉。其中命名空间添加这个:

    using System.Web.Script.Services;

    还有对类使用这样的属性[ScriptService]。添加在类名前面;其他方法都一样添加[webmethod]就ok。

    新建立一个aspx页面。添加这个

     <asp:ScriptManager ID="SM1" runat=server>
            <Services>
                <asp:ServiceReference Path="Service.asmx" />
            </Services>
        </asp:ScriptManager>。

    然后在页面直接写js代码

    <script language=javascript>
            function aa()
            {
                Service.HelloWorld2(document.getElementById('txt').value,callback);//直接类名.方法和方法里面的参数。我的helloWorld2里面只有一个参数。后面的那个callback是异步回调的方法。就是异步来实现方法。很像ajaxpro.dll.和ajax.dll啊
            }
            function callback(res)
            {
                document.getElementById('a').innerHTML = res;
            }
        </script>

    再看看异常处理。

    上面的方法。类名.方法名(参数,异步回调方法)其实我看目前有两个异步回调方法。一个是执行成功的方法。一个是执行错误的方法。如果只写一个方法的话默认就是执行成功的方法。所以我们前面的那个callback方法只有执行成功的方法。可以在callback后面再写一个执行失败的方法faildCB

    代码这样。看了就明白

    function faildCB(error)
            {
                
                var stackTrace = error.get_stackTrace();
                var message = error.get_message();
                var statusCode = error.get_statusCode();
                var exceptionType = error.get_exceptionType();
                var timedout = error.get_timedOut();
              
                // 把错误信息输出来

                var RsltElem =   document.getElementById("divD");
                RsltElem.innerHTML =
                    "Stack Trace: " +  stackTrace + "<br/>" +
                    "Service Error: " + message + "<br/>" +
                    "Status Code: " + statusCode + "<br/>" +
                    "Exception Type: " + exceptionType + "<br/>" +
                    "Timedout: " + timedout;

            }

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    《算法》第二章部分程序 part 3
    《算法》第二章部分程序 part 2
    《算法》第二章部分程序 part 1
    《算法》第一章部分程序 part 2
    《算法》第一章部分程序 part 1
    Java,Hello World,《算法》环境搭建中的问题,用 cmd 和 IntelliJ Idea 分别编译和运行 Java 程序
    《汇编语言 基于x86处理器》第十一章 MS-DOS 编程部分的代码 part 1
    《汇编语言 基于x86处理器》第十三章高级语言接口部分的代码 part 2
    《汇编语言 基于x86处理器》第十三章高级语言接口部分的代码 part 1
    《汇编语言》(王爽)补充笔记,第 14 ~ 17 章
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319478.html
Copyright © 2011-2022 走看看