首页 新闻 搜索 专区 学院

用jquery的ajax方法获取json数组,返回数组不完整

0
悬赏园豆:5 [待解决问题]

有的电脑可以获取,有的就获取不到了,本来以为是IE版本的问题,但是发现其他有的电脑装IE8也正常的啊,调试发现老是少个头标“{[”,或者少更多,读不完整,为啥?!ajax同步我也写了呀,怎么还是这样。。头疼啊!求解决!谢谢~

js-jquery ajax
    $.post("Handler.ashx?d=" + new Date().toString(), { method: "mybottles", uid: uid }, function (data) {
        var bottlesHtml = "";
        $.each(data, function (i, item) {

        });
        $("#bottlesDiv").html(bottlesHtml);
    }, "json"); 

 

Handler.ashx.cs
            else if (method == "mybottles")
            {
                int uid = int.Parse(context.Request["uid"]);

                DataTable dt = bottleManager.MyBottles(uid);

                List<Bottles> list = new List<Bottles>();
                foreach (DataRow row in dt.Rows)
                {
                    int bid = (int)row["bid"];
                    int b_uid = (int)row["uid"];
                    int type = (int)row["type"];
                    string word = row["word"].ToString();
                    string record = row["record"].ToString();
                    string time = row["time"].ToString();

                    Bottles b = new Bottles(bid, b_uid, type, word, record, time);

                    list.Add(b);
                }
                JavaScriptSerializer js = new JavaScriptSerializer();
                string str = js.Serialize(list);

                context.Response.Write(str);
            }
问题补充:

可能这是正常的,我发现好像是ajax代码里面的问题,我加了一些引用其他js的方法处理数据,运行的时候就没执行进去,因为那个js需要在特定环境才能运行,所以没测试出来。。就是不知道为什么有的电脑能读出来,有的就读不出来。。

Hesfctrl的主页 Hesfctrl | 初学一级 | 园豆:183
提问于:2012-10-22 08:58
< >
分享
所有回答(3)
0

修改web.config试试

<system.web.extensions>
  <scripting>
   <webServices >
    <jsonSerialization maxJsonLength="1024000"></jsonSerialization>
   </webServices>
  </scripting>
 </system.web.extensions>
哇~怪兽 | 园豆:603 (小虾三级) | 2012-10-22 09:41

貌似没用额。。我这还是没读出来。。

支持(0) 反对(0) Hesfctrl | 园豆:183 (初学一级) | 2012-10-22 10:28
0

你进入到Handler.ashx.cs  了么

┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-22 13:28

进入了啊!用DebugBar调试返回的结果是: "a","b","c"],["i","j","k"],["x","y","z"]}  像这样的,不完整,不知道为啥。。。

支持(0) 反对(0) Hesfctrl | 园豆:183 (初学一级) | 2012-10-22 13:34

@Hesfctrl: js.Serialize(list) 这个参数要求是什么类型啊  有集合么

 

  如果没有你用foreach{  js.Serialize(item)   试试

支持(0) 反对(0) ┢┦偉 | 园豆:1240 (小虾三级) | 2012-10-22 13:38
1
context.Response.Write(str);
context.Response.End();
                        
chenping2008 | 园豆:9836 (大侠五级) | 2012-10-23 13:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册