日期:2014-05-17  浏览次数:20372 次

如何解决在jquery post 传选中的下拉菜单的值过程中出现错误
如题:运用jquery post方法箱动态把选中的下拉菜单的一个选中的值传送到处理页面,可是在接收页面的值却始终是null,昨天花了一下午的时间,找遍了网上的大部分方式,然后进行尝试,都没有解决,麻烦各位老师帮忙看看,用你们的经验看看代码哪里出现了问题。上代码。
主页面:
JScript code

<script language="javascript" type="text/javascript">
      $(function(){        
        $("#Button1").click(function(){          
            $.post("text.aspx",{Action:"post",catagory:$("#selectType1").val()},            
            function(data){            
                 $("#mydiv").html( data );
            },"text");                        
        });
      });       
</script>


HTML code

<form id="form1" runat="server">
    <select id="selectType1" name="selectType1" style="width: 100px;">
        <option value="已报班">已报班</option>
        <option value="未报班">未报班</option>
        <option value="全部">全部</option>
    </select>
    <div><input id="Button1" type="button" value="提交" style=" float:left;"/></div>
    <div id="mydiv"></div>
</form>


处理页面 text.aspx.cs
C# code

protected void Page_Load(object sender, EventArgs e)
    {
        [color=#800000][b]string catagory = Request.Form[/b]["catagory"][/color]; 
        Response.ContentType = "text/plain";
        if(catagory !=){
           Context.Response.Write("success");        
        }else{Context.Response.Write("fail"); }        
        
        Response.End();
    }




------解决方案--------------------
你那上面的 JScript code 和 HTML code没一点问题
但是我发现你那处理页面 text.aspx.cs
里有一个错误
if(catagory !=){
Context.Response.Write("success");
}else{Context.Response.Write("fail"); }

那个catagory!=) 这是什么语法?后台肯定会报异常改成 catagory!=null 才对。
估计text.cs是那里报语法错误了,根本就没有返回给客户端
js代码中的:“function(data){...}"
这个回调函数,只有POST成功返回后才会执行。如果后台页面报错的话,这一句根本就不会执行。