本人遇到的问题 : 用getJSON 异步调用数据,返回json 数据集合,数据是反回了 但是 没有执行回调函数
正确后的代码: js文件 //获取列表 function getlist() { var topID = $("#articleid").val(); //var params = "topicID=" + topID;
$.getJSON("http://news." + domian + "/AjaxList.ashx?topicID="+topID+"&format=json&jsoncallback=?", function (data) { $("#commentlist").html(data.contentlist);
}); }
一般处理文件 <%@ WebHandler Language="C#" Class="AjaxList" %>
using System; using System.Web; using LitJson; using UCenter.Logic.Members; using WCms.Entity.Common; using WCms.Logic.Common; using Qyn.Studio.Extend; using Qyn.Studio.Utils; /// <summary> /// 获取电子优惠卷 /// </summary> public class AjaxList : IHttpHandler {
public void Proce***equest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.AddHeader("P3P", "CP=CAO PSA OUR"); var data = new JsonData(); var contentlist = new StringPlus(); //var ID=UserLogic.GetCookies().ID; //var userinfo = UserLogic.Data.Where(t => t.ID == ID.GetValueOrDefault()).ToInfo(); var jsoncallback = QynRequest.QS("jsoncallback"); var cTopicID = QynRequest.QS("topicID").ConvertType(0);
if (cTopicID > 0) { var list = WCms.Logic.Common.CommentLogic.Data.Where(t => t.TopicID == cTopicID.ConvertType(0)).Selector(t => new { t.Contents, t.CreateAt, t.CreateName }) .Desc(t => t.CreateAt).ToList(5);
contentlist.AppendLine("<div class=\"reading\">"); contentlist.AppendLine("<h4><span>网友评论</span></h4>"); contentlist.AppendLine("<div class=\"Comment\">"); foreach (var item in list) { contentlist.AppendLine(string.Format("<dl><dt><img src=\"/content/imges/small.jpg\" alt=\"{0}\"/></dt>", item.CreateName)); contentlist.AppendLine(string.Format("<dd><p><i>{0}:</i>{1}</p>", item.CreateName, item.Contents)); contentlist.AppendLine(string.Format("<p><span>时间:{0}</span></p>", item.CreateAt.ToShortString("yyyy-MM-dd hh:mm"))); contentlist.AppendLine("</dd></dl>"); } contentlist.AppendLine("</div></div>"); data["contentlist"] = contentlist.Value; } context.Response.Write(jsoncallback + "(" + data.ToJson() + ")"); }
public bool IsReusable { get { return false; } }
}
划红线的部分是重点需要注意的事情
注:format=json 可以不加 jsoncallback 也可以换成 callback 不过一般处理文件里面 也必须要和 js文件里的 jsoncallback 或着 callback 一致。
以上就是这个问题的解决办法 ,如有问题请留言
|