通过jquery ajax调用Web服务

时间:2014-01-15 13:33:54

标签: jquery ajax web-services

我只是想通过jquery ajax调用web服务..我做了一个Web服务方法,向我们展示系统的当前日期时间..但我的程序无法正常工作可能会出现一些错误,当我把网络服务的网址..如果你检查我的代码,它将是欣赏能够...我只希望最好的

这里我的Jquery代码:

$(document).ready(function()

  {

       $("#btn").click(function() 
         {
            $.ajax(
            {
              type:"POST",
              url:"Service.asmx/CurrentTime",
              data:"{}",
              contentType:"application/json; charset=utf-8",
              dataType:"json",
              success: function(msg)
                 {
                   $("#show").text(msg.d);
                 }

                      });

                      });

                        });

我的网络服务代码:

       using System;

       using System.Collections.Generic;

       using System.Linq;

       using System.Web;

       using System.Web.Services;

       namespace WebService1

          {

              [WebService(Namespace = "http://microsoft.com/webservices/")]

              [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

              [System.ComponentModel.ToolboxItem(false)]

              [System.Web.Script.Services.ScriptService]

              public class Service1 : System.Web.Services.WebService
                 {


                     [WebMethod]
                     public string CurrentTime()
                            {
                                return DateTime.Now.ToString();
                             }
                     }
                     }

我仍然没有得到解决方案...... ????????????

1 个答案:

答案 0 :(得分:0)

试试这个:

$.ajax({
     type:"POST",
     url:"Service.asmx/CurrentTime",
     dataType : 'text',  //<------since your controller returns string use "text"
     success: function(msg){
         $("#show").text(msg);
     },
     error: function(xhr){  //<----use this callback to get the xhr errors
        console.log(xhr);
     }
});

注意:

由于您的控制器返回类型不是json,因此请勿使用dataType : json and contentType,而是可以按照答案中的建议使用dataType作为text。同样在您的成功功能中,您可以按照建议将数据放入所需的元素中。