纯js调用webservice接口怎么调用

JavaScript08

纯js调用webservice接口怎么调用,第1张

<script>标签的src属性可以调取webservice上的js文件

<script>标签内的js代码,可以通过对应html标签的属性(例如image的src属性),来调取webservice上的对应文件;

也可以通过xmlHttpRequest对象来请求webservice上的脚本文件(如php),来使用返回此脚本文件返回的结果。

js 主要用于做客户端处理,不与服务器打交道,你这个是与服务器端打交道了,属于特殊情况。你可以用 createobject 调用组件,从而实现与服务端通信。AJAX 、 JS 的ADO 数据库连接、JSON都是这样做的。

步骤1.   在web.config中的system.web节点里加入

<!--此节点可允许脚本跨域调用webservice-->

  <webServices>

   <protocols>

    <add name="HttpPost"/>

    <add name="HttpGet"/>

   </protocols>

  </webServices>

  <!--此节点可允许脚本跨域调用webservice-->

步骤2. webservice代码

using System

using System.Collections.Generic

using System.Linq

using System.Web

using System.Web.Services

using System.Web.Mvc

namespace WebService

{

  /// <summary>

  /// WebService1 的摘要说明

  /// </summary>

  [WebService(Namespace = "http://tempuri.org/")]

  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

  [System.ComponentModel.ToolboxItem(false)]

  // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

  [System.Web.Script.Services.ScriptService]

  public class WebService1 : System.Web.Services.WebService

  {

    [ValidateInput(false)]

    [WebMethod(Description = "测试")]

    public void getDBTableInfos(string EnterpriseCode)

    {

      HttpContext.Current.Response.ContentType = "application/jsoncharset=utf-8"

      string jsonCallBackFunName = string.Empty

      jsonCallBackFunName = HttpContext.Current.Request.Params["jsoncallback"].ToString()

      HttpContext.Current.Response.Write(jsonCallBackFunName + "({ \"Result\": \"" + EnterpriseCode + "\" })")

    } 

  }

步骤3. html页面部分

<!DOCTYPE html>

<html>

<head>

  <title>Index</title>

  <script src="http://www.cnblogs.com/Scripts/jquery-1.5.1.js" type="text/javascript"></script>

  <script type="text/javascript">

    $(function () {

      $("#btnSubmit").click(function () {

        var EnterpriseCode = "39"       

        var dataStr = "EnterpriseCode=" + EnterpriseCode

        $.ajax({

          type: "get",

          url: "http://xxx/xxx.asmx/getDBTableInfos?jsoncallback?",

          dataType: "jsonp",

          jsonp: 'jsoncallback',

          data: dataStr,

          success: function (result) {

            //返回结果

            alert(result.Result)

          }

        })

      })

    })

  </script>

</head>

<body>

  <div>

    <input id="btnSubmit" type="button" value="查询" />

  </div>

</body>

</html>