$(document).ready(function(){
    $("#tbUserName").bind("change",function(){        $.ajax({
            type:"Get",
            url:"/AjaxPages/AjaxCode.aspx" ,
            dataType:"html",
            data:"userName="+$("#tbUserName").val()+"&flg=username",
//            beforesend:function(XMLHttpRequest)
//            {
//                //$("#showResult").text("checking");
//            },
            success:function(msg) //这个比较重要
            {
                //alert(msg);
                //$("#lbCheckUserName").show();
                $("#lbCheckUserName").val(msg);
                //$("[id$=lbCheckUserName]").html(msg);
                //$("#lbCheckUserName").css("color","red");
                //$("#showResult").html(msg);
                //document.getElementById("lbCheckUserName").innerHTML=msg;
            }
//            complete:function(XMLHttpRequest,textstatus)
//            {
//                //
//            },
//            error:function()
//            {
//                //
//            }
        });
        
    });
描述:用Jquery ajax 返回的值怎么是一整个页面,url:"/AjaxPages/AjaxCode.aspx",在这个页面处理完请求后,怎么只返回我要的结果,而不是整个页面的代码

解决方案 »

  1.   

    dataType:"html", 看看这个参数的设置
      

  2.   

    AjaxCode.aspx
    里面写
    Response.Clear();
    Response.Write("ok");
    Response.End();
      

  3.   

    把你的那个AjaxCode.aspx上面的 HTML代码全部删除。留下 头部页面指令即可。
      

  4.   

    贴   /AjaxPages/AjaxCode.aspx.cs  的代码我判断愿意应该是 response.write 完 没有 response.end导致页面把HTML都返回过去了
      

  5.   

    在你想输出结果前想把response清空,然后把结果写道写页面,然后在结束response
    这样返回的就是你的结果,否则会返回整个response,当然是页面全部信息
      

  6.   

    但是这种做法很trick,建议使用webservice,而不是像你这样对页面发请求

    ASP.NET 2.0 AJAX中Webservice调用方法示例
      

  7.   

    在response.Write()后面加个response.End()就可以啦!