easyui datagrid跨域请求数据

写在前面:

昨天在A项目中写datagrid访问项目B中的url,但是数据展示异常(有时候B项目接口可以返回正常数据,但是A项目页面不显示,要么直接B项目直接不返回任何数据),我即刻预感有可能是跨域问题引起的,后经查证确定datagrid的确不能直接跨域请求json。

解决方案:

  1. 拓展jquery.easyui.min.js(我的jquery.easyui.min.js版本是1.3.2),扩展方法如图:

    温馨提示:绿色方框圈起来的是原js的代码,红色方框圈起来的是我增加的代码,我只是根据原来的js增加了一个dataType是jsonp的扩展方法,然后用if else包起来。

    注意:扩展代码请注意加对地方。
  2. 在前端需要用到datagrid的地方,加上“jsonp:true”配置,如图:

     
  3. 最后一步,在B项目返回数据的Java代码中需要增加从发起请求端获取“callback”参数的代码,并把返回给请求端的数据修改为:callback + "("+json+")"的格式,如图:
发布了87 篇原创文章 · 获赞 22 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/gaofenglxx/article/details/100009073