ajax跨域调用webservice方法实例

前端之家收集整理的这篇文章主要介绍了ajax跨域调用webservice方法实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

webservice代码部分:

   [WebMethod(Description = "这是一个描述")]
        public void GetTIM()
         {
             try
             {
                 sqlDataAdapter da = new sqlDataAdapter("select * from Status",Con);
                 DataSet ds = new DataSet();
                 da.Fill(ds);
                 List<ThingNetwork> Stulis = new List<ThingNetwork>();
                 DataTable dt = ds.Tables[0];

                 foreach (DataRow row in dt.Rows)
                 {
                     ThingNetwork st = new ThingNetwork();
                     st.Ieee = row["Ieee"].ToString();
                     st.CO2 = row["CO2"].ToString();

                     Stulis.Add(st);

                    
                 }
                 string result = JsonConvert.SerializeObject(Stulis);

                 if (!string.IsNullOrEmpty(Context.Request["callback"]))
                 {
                     result = Context.Request["callback"] + "(" + result + ")";
                 }

                 Context.Response.Clear();
                 Context.Response.Charset = "UTF-8";
                 Context.Response.ContentType = "text/plain";
                 Context.Response.Write(result);  //这里是json个文本
                 Context.Response.End();

           
                
             }
             catch (Exception ms)
             {
                 System.Web.UI.Page tt = new System.Web.UI.Page();
                 tt.Response.Write(ms.Message);
                
             }
             finally
             {
                 Con.Close();
             }
            
            
        }
       
config配置代码
  <system.web>
        <compilation debug="true" >

        </compilation>
    <!--
      通过 <authentication> 节,可配置 
      ASP.NET 用于识别进入用户的 
      安全身份验证模式。
    -->
    <authentication mode="Windows" />
    <!--
       通过 <customErrors> 节,可以配置
       在执行请求的过程中出现未处理的错误时要执行 
       的操作。具体而言,
       开发人员通过该节可配置要显示的 html 错误页,
       以代替错误堆栈跟踪。

       <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="NoAccess.htm" />
         <error statusCode="404" redirect="FileNotFound.htm" />
       </customErrors>
    -->
      <webServices>
        <protocols>
          <add name="HttpGet" />      ------这里一定要配置
          <add name="HttpPost" />
          <add name="HttpSoap" />
        </protocols>
      </webServices>
    </system.web>

前端代码部分:
 $.ajax({          
            url: 'http://localhost:1756/WebService.asmx/GetTIM?callback=?',dataType: 'jsonp',data: {},jsonp: 'jsoncallback',contentType: 'application/json; charset=utf-8',success: function (data) {
                $.each(data,function (i,n) {
                    alert(n.Ieee);
                });
                
            },error: function () {
                alert('错误!');
            }
        });
这样就OK啦!!!

猜你在找的Ajax相关文章