问题描述
前台用jquery,中间处理用的是ashx,现在貌似只能访问ashx中的ProcessRequest(HttpContextcontext)函数,自定义的函数访问不到,是怎么回事呢?请教各位大大前台:functionpostData(parames){$.ajax({type:"POST",//用POST方式传输dataType:"html",//数据格式:JSONurl:'http://localhost:9280/web/Service/UserService.ashx/GetData',GetData函数访问不到,始终都是进的ProcessRequest,是怎么回事呢?
解决方案
解决方案二:
可以这样吗?这样的是webservice吧
解决方案三:
可以啊,默认的ProcessRequest都能访问,自定义的函数访问不到
解决方案四:
url没有重写,当然不能访问到GetData方法了。你可以这样,在ProcessRequest里获取QueryString然后再switch调用GetData方法。http://localhost:9280/web/Service/UserService.ashx?method=GetData------------------------------voidProcessRequest(...){switch(Request.QueryString["method"]){case"GetData":GetData();...}}
解决方案五:
去掉"/GetData",url指定的是文件,不是方法,按照楼上同学的意见也可以。
解决方案六:
如果你的写法适用于服务端是webservice的情况ASHX与ASPX的请求方式是一样的,只不过中间环节少
解决方案七:
在js代码中可以这样写:functionpostData(parames){$.ajax({type:"POST",//用POST方式传输dataType:"html",//数据格式:JSONurl:'http://localhost:9280/web/Service/UserService.ashx?method=GetData',
在ashx一般处理程序中:voidProcessRequest(...){switch(Request.QueryString["method"]){case"GetData":GetData();}}
这样子就能请求到你自定义的函数了。
解决方案八:
你那种写法适合请求webservice的webmethod如果要在ashx上实现此效果,需要url重写不重写的话要.ashx?para=GetDataRequest.QueryStringget方式传参来实现
解决方案九:
引用7楼sandy945的回复:
你那种写法适合请求webservice的webmethod如果要在ashx上实现此效果,需要url重写不重写的话要.ashx?para=GetDataRequest.QueryStringget方式传参来实现
学习