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,一切正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值