上面二位说的就是使用ajax,利用POST或者是GET方法发送请求到后台,这就是调用方法的实现。
例如:用jquery的ajax
js代码:
1 function getUserInfo() 2 { 3 $.ajax({ 4 type: 'GET', 5 url: './UserHandler.ashx' , 6 data: {'name':'xxx','age':20} , 7 success: function(res){ 8 //res是请求返回的json对象 9 } , 10 dataType: 'json' 11 }); 12 }
api方法(UserHandler.ashx):
1 public void GetUserInfo() 2 { 3 string name = Request.Param["name"].ToString(); 4 string age = Request.Param["age"].ToString(); 5 string json = ""; 6 //做相关处理 7 //转换为json字符串 8 9 //返回json字符串 10 Response.Write(json); 11 Response.End(); 12 }
还有就是,既然是.NET开发的,页面中的按钮等事件是可以直接调用后台的方法的。
如果新建.ashx的话,需要创建asp.net项目,,但是我需要直接在HTML里面的JS中调用。
@贝尔格里尔斯: 既然这样,你已经有接口了,直接用ajax去请求接口就好了
@SeayXu: 那又ajax如何请求接口?
@贝尔格里尔斯: 这样说比较累,你加我qq告诉你吧,我的资料中有qq
用ajax去后台调用啊
能不能详细点,说哈大概需要做那些事情
调用dll,可以在后台处理好,然后用ajax请求的办法就能获取其中资源。
DLL编译好之后还需要干什么吗?
@贝尔格里尔斯:没有看明白你说的Dll编译好之后是什么意思?你需要变异什么?
@Anvy-Wang: 就是在vs里面生成dll之后,就可以通过ajax老调用了吗?
js --> .ashx --> dll
大虾,这样我很难理解呀,能不能再详细一点点啊
@贝尔格里尔斯:
1.引用dll,创建ashx,在处理方法中调用dll方法,可通过参数区分
2.js中ajax去向该ashx处理程序get/post请求
js代码不能直接访问dll,因为平台不一样。
因此只能通过web服务来调用,一般都是使用js向一个web地址发送一个请求,这个地址的背后,就是那所说的那个dll.
web地址,就是通畅所说的uri。
就是说,js和dll中间,是通过网络请求联系起来的。实现方式有上面说的ashx、wcf、webapi等,这些都是asp.net的相关技术。
请求发送到的url应该做什么处理?
@贝尔格里尔斯: asp.net已经将请求处理封装好了。Asp.net会直接根据你请求的uri调用HttpHandle,例如一楼中的 GetUserInfo()。对于webapi,会直接调用控制器等等。
@虾。: 你哪儿有没有现成的实例,能发我一份吗?
@贝尔格里尔斯: 你什么版本的.net
@虾。: 3.5、4.0和4.5的都有
@贝尔格里尔斯:
http://www.cnblogs.com/xumingxiang/tag/ashx%2Fasmx/
ajax
其实你没说清楚,js调用dll,是通过服务调用dll还是你想直接dlr驱动dll,你说清楚再问吧。
可以调用的,以前那种读卡器就提供有控件,一个DLL文件,本地浏览器打开就会提示安装。
不过现在肯定不行了,因为安全因素,未签名的控件都不允许安装,除非你把浏览器安全级别降低。
。。。你想问的是怎么用js直接调用dll里对外提供的方法吧。。。不能调的,封装可以对外输出的接口吧