extjs(sencha touch) 调用.net webservice
发布时间:2020-12-16 23:30:29 所属栏目:安全 来源:网络整理
导读:服务器端(.net): [WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptSer
服务器端(.net): [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] //----------->这个一定要滴,不然访问不了 public class Service : System.Web.Services.WebService { public Service () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public ArrayList GetStudenInfo(string uname,string pwd) { ArrayList result = new ArrayList(); if(uname=="admin" && pwd=="123") { ArrayList tempReocrd = new ArrayList(); tempReocrd.Add("张三"); tempReocrd.Add("男"); tempReocrd.Add(25); tempReocrd.Add(DateTime.Now.ToString()); result.Add(tempReocrd); tempReocrd = new ArrayList(); tempReocrd.Add("李四"); tempReocrd.Add("男"); tempReocrd.Add(28); tempReocrd.Add(DateTime.Now.ToString()); result.Add(tempReocrd); } return result; } } 客户端调用的方法: Ext.Ajax.request({ url: '/Service.asmx/GetStudenInfo',//这个是服务器端的路径 method : 'POST',headers : { 'Content-Type' : 'application/json;utf-8' },jsonData: {uname:'admin',pwd:'123'},success : function(response,options) { //var data=Ext.JSON.decode('[{"name": "cxh"}]'); Ext.Msg.alert('成功',response.responseText); //Ext.Msg.alert('成功',data[0].name); },failure : function() { Ext.Msg.alert('失败','与Webservice连接失败'); } }); 注:开始直接访问出现跨域访问的错误提示,后来就把客户端和webservice服务器端放到iis里的同一个网站里面, 直接用上面的(url: '/Service.asmx/GetStudenInfo')相对路径,在iis里直接访问客户端index.html,一切正常 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |