温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jQuery getJSON 处理json数据的代码 解决ajax跨域返回json 数据问题

发布时间:2020-05-29 19:48:48 来源:网络 阅读:716 作者:CTO流星雨 栏目:web开发
本人遇到的问题 :
    用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  一致。


以上就是这个问题的解决办法 ,如有问题请留言
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI