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