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这个方法,我想请问一下,这边具体代码怎样写 展开
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这个方法,我想请问一下,这边具体代码怎样写 展开
展开全部
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_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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询