jquery实现跨域请求&SpringMVC解决跨域乱码问题
2014-11-26 16:40
246 查看
首先,IP+端口号 均不同,或者IP相同+端口号不同,这样的请求均属于跨域请求。
之前这篇博客jquery从后台获取json数据讲的是同域访问,如果本机要实现跨域访问,我们可以给后台传递一个参数例如:callback,
后台进行相应的处理,如下:
注意:这里的@RequestMapping加上参数:produces={"application/json;charset=UTF-8"},否则前台获取数据时会出现乱码问题。
前台通过回调函数获得返回的json字符串,而其中的callback其实是一个jsonp。
前台有一下几种方式实现跨域获取数据:
1,$.ajax dataType:json,这时须在URL中加上参数callback
2,$.getJSON
3,$.ajax dataType:jsonp,URL中不用加参数
之前这篇博客jquery从后台获取json数据讲的是同域访问,如果本机要实现跨域访问,我们可以给后台传递一个参数例如:callback,
后台进行相应的处理,如下:
@RequestMapping(value="/rtnHotspot",produces={"application/json;charset=UTF-8"}) @ResponseBody public 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){ ...... });
相关文章推荐
- springMVC实现跨域问题解决方案1
- springMVC解决跨域jsonp乱码问题的三种方法
- 利用jquery实现Ajax技术,post方式传值中文乱码问题的解决办法。
- 跨域解决 & ajax post 请求springmvc ctr 问题
- jquery ajax 解决中文乱码问题
- SSM&SSH项目中 springmvc 乱码问题解决
- jquery url传输中文乱码问题解决
- 通过P3P协议,实现跨域set cookie,解决同域IFRAME中SESSION传递失效问题
- jsp实现文件下载与中文文件名乱码问题解决
- 前端使用Jquery的getJSON方法,后台使用PHP,解决IE和火狐Firefox中存在的跨域ajax请求问题。
- jQuery 跨域访问问题解决方法
- weblogic下打开word文档出现乱码问题 & qq聊天的实现
- JSP实现文件下载同时解决中文乱码问题
- java web 利用 commons-fileupload-1.2 实现文件上传 解决 中文乱码& 非文件属性的读取
- 解决ubuntu-9.10中flash乱码的问题 - Aland·Sun
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- ORACLE 11g&10g EM乱码问题解决
- jsp实现文件下载与中文文件名乱码问题解决
- jquery中ajax方法提交数据时,中文乱码问题解决。
- .net从DataGridView复制到Excel.代码实现。解决乱码问题