最近项目中需要跨域调用其他项目的数据,其他项目也是使用的EasyUI的datagrid组件,开始以为直接在datagrid的url属性定义为其他项目的url地址即可,可是测试下发现的确是返回了json数据但是json数据提示“invalid label” 错误,网上搜索了下错误解决办法,参考 “JavaScript处理Json的invalid label错误解决办法“的方法利用datagrid的loadData方法加载并转换了json还是提示上述错误,感觉原因不在格式问题。
搜索了下JavaScript跨域调用的文章“JavaScript跨域访问问题解决方法”得到启发,发现原来是因为easyUI使用的是JQuery的异步方法加载数据,应该遵循JQuery的跨域访问规则,也就是上述文章中提到的url中需要加入jsoncallback=?回调函数参数,并且返回的json的格式必须修改为:回调函数名(json数据),而现在返回的数据只是json格式的数据没有回调函数名,自然提示格式错误,于是修改了ASP.NET MVC自定义的JsonResult类,具体如何编写自定义的JsonResult类见:自定义ASP.NET MVC JsonResult序列化结果,
代码如下:
复制代码 代码如下:
public class CustomJsonResult:JsonResult
{
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
HttpResponseBase response = context.HttpContext.Response;
if (!String.IsNullOrEmpty(ContentType))
{
response.ContentType = ContentType;
}
else
{
response.ContentType = "application/json";
}
if (ContentEncoding != null)
{
response.ContentEncoding = ContentEncoding;
}
if (Data != null)
{
#pragma warning disable 0618
//跨域调用需要修改json格式jsoncallback
if (context.HttpContext.Request.Params.AllKeys.Contains("jsoncallback"))
{
String callback = context.HttpContext.Request.Params["jsoncallback"];
response.Write(callback+"("+JsonConvert.SerializeObject(Data)+")");
}
else
{
response.Write(JsonConvert.SerializeObject(Data));
}
#pragma warning restore 0618
}
}
}
EasyUI的datagrid的代码如下:
复制代码 代码如下:
//datagrid
$('#dg').datagrid({
url:'http://localhost:9000/ManagementSystem/ListCurrent?department=sss&jsoncallback=?',
pageNumber: 1,
pageSize: 20,
pageList: [20, 40, 60, 80, 100],
onDblClickRow: function(rowIndex) {
edit();
}
});
作者:mikel
出处:http://www.cnblogs.com/mikel/
相关推荐:
专业SEO助力企业在激烈市场竞争中脱颖而出,嘉兴海外网站推广价格
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
ChatGPT为什么访问不了?全面解析及解决方案,ai首页设计
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
好用的AI写作工具,提升写作效率与创意的最佳选择
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
为什么行业都要做seo,为什么要做seo ,ai明信片
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话
seo网页优化什么意思,seo网站优化必知的10个问答,问吧,【解决】百度不知道 ,ai识别点读机
SEO合作:让你的网站在搜索引擎中脱颖而出,惠州抖音seo策划公司
ChatGPT-4中文免费破解版:无需付费,体验最强AI助手,ai写作生成器官方下载
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,惠州网站推广v1戈seo24
软件我在AI:改变未来的智能助手
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
SEO很多,如何在竞争激烈的市场中脱颖而出?,在SEO优化中
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
什么是亚马逊seo策略,亚马逊的seo推广是什么 ,天天学术ai写作优惠券
怎么让AI润色文章,让写作更轻松?
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
seo用什么写属性写,seo属于什么 ,芭田科学施肥AI
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
好用的AI写作软件免费推荐:创作新境界!
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
“多网建站”助力企业跨越发展,开启全新数字化时代,海南网站优化电池
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,解决您的使用困扰!,ai光晕制作
AI免费工具:提升效率与创意的秘密武器
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
AI上的文章属于原创吗?人工智能创作内容的归属问题
SEO新站优化指南:快速提升排名的必备技巧,海珠网站推广哪家有名
SEO译为:网站排名背后的优化策略,会展中心网站优化
SEO优化做什么的?揭秘SEO优化的核心价值与实战应用,ai做金色
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
优化入口:提升网站流量与转化率的秘密武器,琼海关键词排名品牌
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
SEO观看:如何通过优化提升您的网站流量和品牌影响力,龙里网络营销推广
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载