我对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>");
});
}
}
});