Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 4823|回复: 0

Jquery DataTable AJAX跨域请求的解决方法及SSM框架下服务器端返回JSON格式数据的解决方法

[复制链接]
  • TA的每日心情
    奋斗
    前天 15:10
  • 签到天数: 803 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726482
    发表于 2021-4-22 10:24:03 | 显示全部楼层 |阅读模式

    如题,用HBuilder开发APP,涉及到用AJAX跨域请求后台数据,刚接触,费了不少时间。幸得高手指点,得以解决。

    APP需要用TABLE来显示数据,因此采用了JQ 的DataTable。  在实现过程中发现存在跨域的问题,采用以下方法解决。

    $(document).ready(function() {
    			$('#example').DataTable({
    				"ajax": {
    					"url":"http://Localhost:8085/System/nurse/getPatients",
    					"dataTyle":"jsonp"},
    				"bPaginate": true, //翻页功能
    				"bLengthChange": false, //改变每页显示数据数量
    				"bFilter": true, //过滤功能
    				"bSort": false, //排序功能
    				"bInfo": true, //页脚信息
    				"bAutoWidth": true, //自动宽度
    				"columns": [{
    						"data": "name"
    

      将  sAjaxSource 替换成 如上的 ajax  ,设置数据类型为 JSONP。当时这部分功能做好后,发现还是报错误,获取不到值。。报【Uncaught TypeError: Cannot read property 'length' of undefined】错误。。查来查去,发现是ajax获取的值,不是需要的JSON格式。一定要JSON对象数组。一定要以data开头的JSON数组。如下格式:

    {"data":[{"birthday":"2011/04/25","idtype":"身份证","number":"30","idcode":"1231131313","sex":"男","name":"常1","DT_RowId":"e58930f0ae5442fb8f67474422a76e95","statue":"治疗中"}]}
    

      由于,后台是采用SSM框架的。。获取的数据本身就是JSON格式的。唯独缺少了data开头,处理上只要在Control处理上对返回的 LIST对象数据进行再处理下就OK了,如下:

    @RequestMapping(value="getPatients", method=RequestMethod.GET)
    	@ResponseBody
    	public JSONObject getPatients() {
    	
    		 List<PatientForApp> results=new ArrayList<PatientForApp>();
    		 JSONObject json=null;
    		try {
    			
    			 results = service.findByPageforApp();
    			Map map = new HashMap();
    		
    			 map.put("data", results);
    			 json = JSONObject.fromObject(map);
    		} catch (Exception e) {
    			logger.error(e.toString(), e);
    		/*	ar.setFailMsg(Const.DATA_FAIL);*/
    		}
    		return json;
    	}
    

      以上就实现了SSM框架通过Control处理返回JSON对象数组。。

    记忆留存,有何不对请指正。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-11-19 02:37 , Processed in 0.065888 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表