jquery实现跨域请求&SpringMVC解决跨域乱码问题
来源:互联网 发布:毫州康美中药城淘宝店 编辑:程序博客网 时间:2024/06/04 20:05
首先,IP+端口号 均不同,或者IP相同+端口号不同,这样的请求均属于跨域请求。
之前这篇博客jquery从后台获取json数据讲的是同域访问,如果本机要实现跨域访问,我们可以给后台传递一个参数例如:callback,
后台进行相应的处理,如下:
@RequestMapping(value="/rtnHotspot",produces={"application/json;charset=UTF-8"})@ResponseBodypublic Object rtnHotspot(@RequestParam("callback") String callback){//从data_process表中获得数据List<Data_process> data_processList = this.dataAnalysisService.findAllLocation();List<Hotspot> hotspotList = new ArrayList<Hotspot>();......String function = callback+"("+JSON.toJSONString(hotspotList)+")";//后台返回一个callback(json字符串)这样的形式return function;}
注意:这里的@RequestMapping加上参数:produces={"application/json;charset=UTF-8"},否则前台获取数据时会出现乱码问题。
前台通过回调函数获得返回的json字符串,而其中的callback其实是一个jsonp。前台有一下几种方式实现跨域获取数据:
1,$.ajax dataType:json,这时须在URL中加上参数callback
$.ajax({type:"GET",url:"http://具体ip/项目名称/dataAnalysis/rtnHotspot?callback=?",//加一个参数callback=?dataType:"json",async: false,success:function(data){......//返回数据 }});
2,$.getJSON
$.getJSON("http://localhost/xxx/dataAnalysis/rtnHotspot?callback=?",function(data){myData = JSON.stringify(data); alert(myData);});3,$.ajax dataType:jsonp,URL中不用加参数
$.ajax({type:"GET",url:"http://localhost/xxx/dataAnalysis/rtnHotspot",//不用加参数dataType:"jsonp",//jsonp类型async: false,success:function(data){......});
0 0
- jquery实现跨域请求&SpringMVC解决跨域乱码问题
- jquery ajax springMVC 解决跨域问题
- springMVC解决跨域请求
- springMVC解决跨域请求
- springMVC解决跨域请求
- 跨域解决 & ajax post 请求springmvc ctr 问题
- 跨域解决 & ajax post 请求springmvc ctr 问题
- SpringMVC跨域乱码问题
- SpringMVC跨域乱码问题
- SpringMVC跨域乱码问题
- 解决JQuery的Ajax请求跨域问题
- SpringMvc解决跨域问题
- SpringMvc解决跨域问题
- SpringMvc解决跨域问题
- SpringMvc解决跨域问题
- SpringMVC解决跨域问题
- SpringMvc解决跨域问题
- SpringMVC 解决跨域问题
- linux下安装python
- MongoDB命令及SQL语法对比
- libevent学习__学习历程总结
- 社区发现(Community Detection)算法
- 关于VC6简单实现xp风格界面
- jquery实现跨域请求&SpringMVC解决跨域乱码问题
- JQuery中$.ajax()方法参数详解
- poj 1080 dp(sequence alignment)
- JavaEE 7 正式发布
- SVN常用的命令
- osg 矩阵转换后,获取矩阵中模型的位置
- Autolayout进阶
- leetcode——Triangle
- 第十三周项目1.4 折腾数组(4)选择性输出组合新数组