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啦!!!

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...