有的电脑可以获取,有的就获取不到了,本来以为是IE版本的问题,但是发现其他有的电脑装IE8也正常的啊,调试发现老是少个头标“{[”,或者少更多,读不完整,为啥?!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");
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需要在特定环境才能运行,所以没测试出来。。就是不知道为什么有的电脑能读出来,有的就读不出来。。
修改web.config试试
<system.web.extensions>
<scripting>
<webServices >
<jsonSerialization maxJsonLength="1024000"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
貌似没用额。。我这还是没读出来。。
你进入到Handler.ashx.cs 了么
进入了啊!用DebugBar调试返回的结果是: "a","b","c"],["i","j","k"],["x","y","z"]} 像这样的,不完整,不知道为啥。。。
@Hesfctrl: js.Serialize(list) 这个参数要求是什么类型啊 有集合么
如果没有你用foreach{ js.Serialize(item) }试试
context.Response.Write(str);
context.Response.End();