您的位置:首页 > 运维架构 > 网站架构

API的jian建立以及其他网站的跨域调用

2016-01-04 20:42 501 查看
我对api初步理解:数据返回,文件传输使用,下面是一个api方法,作用很简单,查询不同Type类型的数据以及数量Number

后台代码!哦,注意jsonp的格式

        public String GetNewsList(int Type, string Number, string Key,string jsoncallback)
        {
            //jywj12333
            //新闻index 1  公告2  //培训政策 3 //职业鉴定 4  Clasy @"^[0-9]\d*$"   /^\+?[1-9][0-9]*$/
            try
            {
                if (Key.Trim().Equals("jywj12333"))
                {
                    if (Number.Trim().ToUpper().Equals("ALL"))
                    {
                        //All 全部 
                        var newlist = (from t in db.T_News where t.Clasy == Type orderby  t.CreateTime descending select t);
                        List<Education.Models.T_News> NewList = newlist.ToList();
                        var serializer = new JavaScriptSerializer();
                        var json = serializer.Serialize(NewList);
                        return jsoncallback + "({\"status\":\"1\",\"data\":" + json + "})";
                    }
                    else
                    {   
                        // 根据Number
                        string p = @"^[0-9]\d*$";
                        Regex rx = new Regex(p);
                        //整数
                        int Num = Convert.ToInt32(Number);
                        if (rx.IsMatch(Number))
                        {
                            var newlist = (from t in db.T_News where t.Clasy == Type orderby t.ImportantLevel,t.CreateTime descending select t).Take(Num);
                            List<Education.Models.T_News> NewList = newlist.ToList();
                            var serializer = new JavaScriptSerializer();
                            var json = serializer.Serialize(NewList);
                            return jsoncallback + "({\"status\":\"1\",\"data\":" + json + "})";
                        }
                        else
                        {
                            return jsoncallback + "({\"status\":\"0\",\"data\":\"整数\"})";
                        }
                    }
                }
                else
                {
                    return jsoncallback + "({\"status\":\"0\",\"data\":\"权限不够\"})";
                }
            }
            catch
            {
                return jsoncallback + "({\"status\":\"0\",\"data\":\"暂停服务\"})";
                //return jsoncallback + "({\"a\":\"bbb\"})";
                //}
            }
        }


前台代码调用

$.ajax({
url: "http://peixun.jywj12333.com/DataAPI/GetNewsList",
dataType: 'jsonp',
jsonp: 'jsoncallback',
data: { Type: 2, Number: "4", Key: "jywj12333" },
success: function (data) {
if (data.status != 1) {
alert(data.status);
}
else {
var gonggao = $(".message");
$.each(data.data, function (i, item) {
var title = item.Title.length > 20 ? item.Title.substring(0,19) + "" : item.Title;
gonggao.append("<p><span></span><a href='http://XXXX.com/Home/NewsDetail/" + item.Id + "'>" + title + "</a></p>");
});
}
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: