读书人

.net framework4.0 下ajax传输出有关问

发布时间: 2013-12-26 15:24:01 作者: rapoo

.net framework4.0 下ajax传输出问题
同样的代码,在.net framework3.5 下没有问题,而在 .framework4.0 下,请求没有传输到后台,坐等牛人指教。
开发平台 vs2010,
1. 网站属性->选择framework3.5,正常传输到后台;startRequest可以进入断点,ProcessRequest 可以进入断点。
2. 网站属性->选择framework4.0,不能传输到后台;startRequest可以进入断点,ProcessRequest 不能进入断点。


客户端代码:


//ashx 方法调用
function startRequest(strParams) {
createXmlHttp();

var entid="";
if(ashxParamType==ashxParamEnum.showShip)
{
entid="&entid="+strCompany_ID;
}

//使用Get方式
var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;

xmlHttp.open("POST", Queryurl, true);
xmlHttp.onreadystatechange = bindclass;
xmlHttp.send(null);
}


服务器端代码:QueryHandler.ashx

public class QueryHandler : IHttpHandler,IReadOnlySessionState
{

public void ProcessRequest(HttpContext context)
{
//majorid,前端传过来的参数,组合参数 (前端js有说明)
string majorid = context.Request.Params["major"].ToString().Trim();
if (!majorid.Contains(DictConst.SPLIT_CHAR_VERTICAL_LINE))
return; //参数格式不合法




switch (majorid.Substring(0, 1))
{......}
}
}
ajax
[解决办法]
引用:
同样的代码,在.net framework3.5 下没有问题,而在 .framework4.0 下,请求没有传输到后台,坐等牛人指教。
开发平台 vs2010,
1. 网站属性->选择framework3.5,正常传输到后台;startRequest可以进入断点,ProcessRequest 可以进入断点。
2. 网站属性->选择framework4.0,不能传输到后台;startRequest可以进入断点,ProcessRequest 不能进入断点。


客户端代码:

//ashx 方法调用
function startRequest(strParams) {
createXmlHttp();

var entid="";
if(ashxParamType==ashxParamEnum.showShip)
{
entid="&entid="+strCompany_ID;
}

//使用Get方式
var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;

xmlHttp.open("POST", Queryurl, true);
xmlHttp.onreadystatechange = bindclass;
xmlHttp.send(null);
}


服务器端代码:QueryHandler.ashx

public class QueryHandler : IHttpHandler,IReadOnlySessionState
{

public void ProcessRequest(HttpContext context)
{
//majorid,前端传过来的参数,组合参数 (前端js有说明)
string majorid = context.Request.Params["major"].ToString().Trim();
if (!majorid.Contains(DictConst.SPLIT_CHAR_VERTICAL_LINE))
return; //参数格式不合法




switch (majorid.Substring(0, 1))
{......}


}
}



一直用3.5
[解决办法]
还真不知道这个有啥区别,没用过
[解决办法]
好像framework4.0 要指定输出类型
[解决办法]

[解决办法]
好像传两个参数以上用'&'有问题。我前面也遇到过.
[解决办法]
//使用Get方式
var Queryurl = "FirstPage/QueryHandler.ashx?rnd="+Math.random()+"&major=" + strParams+entid;
xmlHttp.open("GET", Queryurl, true);
xmlHttp.onreadystatechange = bindclass;
xmlHttp.send(null);

//使用POST方式
 xmlHttp.open("POST","FirstPage/QueryHandler.ashx",true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
xmlHttp.send("rnd="+Math.random()+"&major=" + strParams+entid);

[解决办法]
LZ结贴啊。 。

读书人网 >asp.net

热点推荐