网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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

本人遇到的问题 :
    用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;
///
/// 获取电子优惠卷
///

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("
");
            contentlist.AppendLine("

网友评论

");
            contentlist.AppendLine("
");
            foreach (var item in list)
            {
                contentlist.AppendLine(string.Format("
\"{0}\"/
", item.CreateName));
                contentlist.AppendLine(string.Format("

{0}:{1}

", item.CreateName, item.Contents));
                contentlist.AppendLine(string.Format("

时间:{0}

", item.CreateAt.ToShortString("yyyy-MM-dd hh:mm")));
                contentlist.AppendLine("
");
            }
            contentlist.AppendLine("
");
            data["contentlist"] = contentlist.Value;
        }
        context.Response.Write(jsoncallback + "(" + data.ToJson() + ")");
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}







划红线的部分是重点需要注意的事情

注:format=json  可以不加
    jsoncallback   也可以换成  callback
    不过一般处理文件里面 也必须要和 js文件里的 jsoncallback 或着 callback  一致。


以上就是这个问题的解决办法 ,如有问题请留言

网站名称:jQuerygetJSON处理json数据的代码解决ajax跨域返回json数据问题
网页URL:http://bjjierui.cn/article/gdsjpo.html

其他资讯