--------js
    <script type="text/javascript" language="javascript">
 function getData(){
alert("11");//会弹窗
   $.getJSON(
    "jsonData.ashx",//产生JSON数据的服务端页面
    function(json){
     $.each(json,function(i){
     $("#cat-list").append("<li>name:"+json[i].name+"&nbsp; Age:"+json[i].age+"</li>")
     })
     });
    }
    </script>
----------页面
    <div id="categories">
<h3 title="选择一个分区"><span>选择</span></h3> <input id="Button1" type="button" value="获取数据" onclick="getData()" /> 
<ul id="cat-list"></ul>
</div>
--------jsonData.ashx 
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string data = "[{name:\"fan\",age:26},{name:\"wang\",age:25}]";//构建的json数据
            //下面两句是用来测试前台向此页面发出的查询字符
              context.Response.Write(data);
        }为什么我点击按钮没反应啊,照着网上的代码,没反应,方法是进了的,jquery

解决方案 »

  1.   

    用firebug调试一下页面
    看看append执行了没
      

  2.   

    到这里就没反应了   function(json){
    可能出错了
      

  3.   

    如果是在function(json){}这个地方出问题 那么肯定是 ashx出问题,是否有路径问题
      

  4.   

    我不知道你这是什么情况,但我一般不这么做,看你想的应该是想返回一个json格式的字符串,既然是字符窜就最好按照最严谨的格式来写如"[{\"name\":\"fan\",\"age\":\"26\"},{\"name\":\"wang\",\"age\":\"25\"}]" 然后接收的时候,使用$parseJson(json)这种方式,将其转换,你可以声明个参数接收 如:var Json=$parseJson(json) 然后用for循环进行添加
      

  5.   

    我昨天做任务,正好写了一个类似的给你看看 我想应该可以给你点启发把 只不过我不是添加控件的 只是取值,不过原理差不多啦
    创建JSON格式的字符串
    function OnGetSelectedFieldValues(selectedValues) {
                var checkedNum = selectedValues.length; //选中的数量
                var checkedValue = "[";
                for (var i = 0; i < checkedNum; i++) {
                    checkedValue += "{";
                    checkedValue += "\"selectedValue\":\"" + selectedValues[i][0] + "\",\"selecedID\":\"" + selectedValues[i][1] + "\",\"selectedName\":\"" + selectedValues[i][2] + "\"";
                    checkedValue += "},";
                }
                checkedValue = checkedValue.substring(0, checkedValue.length - 1);
                checkedValue += "]";
                window.parent.returnValue = checkedValue;
                window.close();
            }
    解析:添加到隐藏文本
    var  str=window.showModalDialog("../sys_user/sys_choiceuser.aspx?ChoiceOneOrMore=1",""," dialogWidth:830px;dialogheight:550px;dialogLeft:200;dialogTop:200;status:no");         
     if(str!=null)
     { 
       document.getElementById("Jppm_principal").value="";
       document.getElementById("Jppm_principal2").value="";
       document.getElementById("Tepm_principalId").value="";      
       var str=$.parseJSON(str);
       for (var i = 0; i < str.length; i++) {
            document.getElementById("Jppm_principal").value +=str[i].selectedName + ";"; 
            document.getElementById("Jppm_principal2").value +=str[i].selectedValue + ";";
            document.getElementById("Tepm_principalId").value +=str[i].selecedID + ";";
       }
       
       document.getElementById("code").value =  document.getElementById("Jppm_principal2").value;
       document.getElementById("id").value =  document.getElementById("Tepm_principalId").value;
       document.getElementById("name").value =  document.getElementById("Jppm_principal").value;
    }
      

  6.   


    路径没问题,在ashx中打断点可以进的
      

  7.   

    那你在 function(json){alert(json)}看看 能否进去 在不行 在后面加一句 eval('+json+')
      

  8.   


    路径没问题,在ashx中打断点可以进的
    试了一下应该是没有返回值
    尝试编码
      

  9.   

    我来给你献上正确答案function getData() {
                alert("11"); //会弹窗    
                $.getJSON("jsonData.ashx", //产生JSON数据的服务端页面     
                function (json) {
                    $.each(json, function (i) {
                        $("#cat-list").append("<li>name:" + json[i].name + "&nbsp; Age:" + json[i].age + "</li>")
                    })
                });
            }    
    页面
    <div id="categories">
                <h3 title="选择一个分区">
                    <span>选择</span></h3>
                <input id="Button1" type="button" value="获取数据" onclick="getData()" />
                <ul id="cat-list">
                </ul>
            </div>JSON页面
    context.Response.ContentType = "text/plain";
            string data = "[{\"name\":\"fan\",\"age\":\"26\"},{\"name\":\"wang\",\"age\":\"25\"}]";//构建的json数据             
            //下面两句是用来测试前台向此页面发出的查询字符               
            context.Response.Write(data); 效果图
      

  10.   


            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                string data = "[{\"name\":\"fan\",\"age\":26},{\"name\":\"wang\",\"age\":25}]";//构建的json数据
                //下面两句是用来测试前台向此页面发出的查询字符
                context.Response.Write(data); ;
            }返回格式字段需要双引号,亲测通过