微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

extjs(sencha touch) 调用.net webservice

服务器端(.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,一切正常

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐