从我的jquery调用web服务

时间:2011-10-05 14:25:09

标签: jquery ajax service web

我创建了一个这样的代码来访问我的webservice中的方法AddNums。我通过webservice发送数据以获得输出。但它没有提供任何输出。

   <html xmlns="http://www.w3.org/1999/xhtml">
   <script src="scripts/Jquery%20v1.6.4.js" type="text/javascript"></script>
    <script type="text/javascript">

   $(document).ready(function () {
    $("#btn").click(function () {
        alert('I have been clicked');
        $.ajax({
            type: "POST",
            url: "http://localhost:5554/Service1.svc",
            data: "{2,3}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $("#output").text(msg.d);
            }
        });

    });
    });

    </script>
    <head runat="server">
    <title></title>
     </head>
     <body>
     <form id="form1" runat="server">

      <input type="button" id="btn" value="Click Me" /> <br /> <br />

       <span id="output"></span>

       </form>
      </body>
       </html>

webserivce的实施。我已经在Visual Studio中使用内置客户端测试了webservice,它运行良好。

  namespace WcfServiceTest
  {

    [System.Web.Script.Services.ScriptService]
   public class Service1 : IService1
   {
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }

    public CompositeType GetDataUsingDataContract(CompositeType composite)
    {
        if (composite == null)
        {
            throw new ArgumentNullException("composite");
        }
        if (composite.BoolValue)
        {
            composite.StringValue += "Suffix";
        }
        return composite;
    }

   [System.Web.Services.WebMethod(BufferResponse = false)]
    public int AddNums(int val1, int val2)
    {
        return (val1 + val2);
    }

     }
    }

1 个答案:

答案 0 :(得分:1)

这是错误的方式

data: "{2,3}",

正确的方法是

data: {para1:value1,para2:value2},

用于将参数传递给外部文件。