JQuery Ajax调用ashx(IHttpHandler)页面的方法问题

$.ajax({type:"POST",url:"../App_Ajax/DefectDescription.ashx/LoginOn",data:null,conten... $.ajax({
type: "POST",
url: "../App_Ajax/DefectDescription.ashx/LoginOn",
data: null,
contentType: "application/json; charset=utf-8",
dataType: "text",
error: function (datas) {
alert(datas);
},
success: function (data) {
alert(data);
}
});

如果,在ashx页面,我需要在ProcessRequest方法里面获取到ajax穿过来的LoginOn方法,并且在ProcessRequest方法里面跳转到LoginOn这个方法,我想请问一下,这边具体代码怎样写
展开
 我来答
飞逸星尘
2015-03-25
知道答主
回答量:4
采纳率:0%
帮助的人:4.8万
展开全部
ajax部分url请写成:
../App_Ajax/DefectDescription.ashx?api=LoginOn
c#部分用:
context.Request["api"]可以拿到='LoginOn'
如果DefectDescription.ashx你准备实现多个接口,那么红框部分接着写:
string api=context.Request["api"];
string result='';
switch (api)
{
case 'LoginOn':
result=LoginOn();
break;
case 'LoginOut'://可能增加的登出接口
result=LoginOut();
break;

case ...
}
context.Response.Write(result);

值得注意的几点:
1、LoginOn作为一个方法,其中不应该直接涉及response的代码,return一个约定好的结果即可,response应放在ProcessRequest里
2、LoginOn建议单独写成class,而不是写在ashx页面里。非要写,也请private,不要public
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式