.net framework4.0 下ajax传输出问题

catchdream 2013-11-25 05:07:44
同样的代码,在.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))
{......}
}
}
...全文
264 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
catchdream 2013-12-25
  • 打赏
  • 举报
回复
感谢大家的回复,问题解决了,在web.config 中添加 <httpRuntime requestValidationMode="2.0" /> 这样可以使用 2.0 下的验证模式
mc_dv 2013-11-29
  • 打赏
  • 举报
回复
LZ结贴啊。 。
打酱油的 2013-11-26
  • 打赏
  • 举报
回复
为什么不用JQuery???
怎么来这一出 2013-11-26
  • 打赏
  • 举报
回复
直接用个jquery,
$.post("url",{参数1:a,参数2:b},function(){})
搞定
qawszx 2013-11-26
  • 打赏
  • 举报
回复
//使用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);
mc_dv 2013-11-26
  • 打赏
  • 举报
回复
好像传两个参数以上用'&'有问题。我前面也遇到过.
catchdream 2013-11-25
  • 打赏
  • 举报
回复
引用 8 楼 rmb147 的回复:
你的工程有几个项目 看看你这几个项目的.net 版本
和其他项目应该没关系,主要在 ajax 交互这块,就是断点没有进入到后台。。。
rmb147 2013-11-25
  • 打赏
  • 举报
回复
你的工程有几个项目 看看你这几个项目的.net 版本
catchdream 2013-11-25
  • 打赏
  • 举报
回复
引用 6 楼 liuchaolin 的回复:
[quote=引用 5 楼 catchdream 的回复:] [quote=引用 3 楼 liuchaolin 的回复:] 好像framework4.0 要指定输出类型
能具体点么,多谢。。[/quote] context.Response.ContentType="text/xml" [/quote] 我在 ProcessRequest 里面指定了,但就是在这句上面设断点都没有进去。 public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; switch (majorid.Substring(0, 1))
md5e 2013-11-25
  • 打赏
  • 举报
回复
引用 5 楼 catchdream 的回复:
[quote=引用 3 楼 liuchaolin 的回复:] 好像framework4.0 要指定输出类型
能具体点么,多谢。。[/quote] context.Response.ContentType="text/xml"
catchdream 2013-11-25
  • 打赏
  • 举报
回复
引用 3 楼 liuchaolin 的回复:
好像framework4.0 要指定输出类型
能具体点么,多谢。。
catchdream 2013-11-25
  • 打赏
  • 举报
回复
主要 .net framework 3.5 有个 “IIS短文件名泄露漏洞”,只能升级到 4.0 来解决。
md5e 2013-11-25
  • 打赏
  • 举报
回复
好像framework4.0 要指定输出类型
水猿兵团五哥 2013-11-25
  • 打赏
  • 举报
回复
还真不知道这个有啥区别,没用过
Im_Sorry 2013-11-25
  • 打赏
  • 举报
回复
引用 楼主 catchdream 的回复:
同样的代码,在.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

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧