Ext直接调用ASP.Net Ajax Webservice

ExtJS发布了2.1版,经过测试,这个版本可以直接调用ASP.Net Ajax的WebService,示例代码如下:

1. WebService代码:

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class TestWebService : System.Web.Services.WebService {

	[WebMethod]
	public string HelloWorld(string firstName, string lastName) {
		return string.Format("Hello {0} {1}", firstName, lastName);
	}

	[WebMethod]
	public string ExceptionMethod(int param) {
		throw new NotImplementedException("该方法未实现");
	}
}

2. 客户端调用代码:

function CallHelloWorld() {
	Ext.Ajax.request({
		url: 'TestWebService.asmx/HelloWorld', // Webservice的地址以及方法名
		jsonData: { firstName: 'AAA', lastName: 'BBB' }, // json 形式的参数
		method: 'POST', // poste 方式传递
		success: onSuccess,
		failure: onFailure
	});
}
function CallExceptionMethod() {
	Ext.Ajax.request({
		url: 'TestWebService.asmx/ExceptionMethod',
		jsonData: { param: 3 },
		method: 'POST',
		success: onSuccess,
		failure: onFailure
	});
}
function onSuccess(request, options) {
	// 服务器返回json形式的结果
	var result = Ext.util.JSON.decode(request.responseText);
	Ext.Msg.alert('返回结果', result.d);
}
function onFailure(request, options) {
	alert(request.responseText);
}

3. 返回结果分别为:

 image

image

posted @   张志敏  阅读(2856)  评论(3编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示