利用jsonp跨域访问

来源:互联网 发布:java线程池使用实例 编辑:程序博客网 时间:2024/05/23 14:13

利用jsonp跨域访问

之前因为项目原因,研究很长时间跨域访问,网上页有很多资源,最终决定使用jsonp进行访问
项目框架使用的是spring spring MVC mybatise
前台你
ajax请求代码:

//获取当前访问地址  var url = window.location+"";  var arr = url.split('/');  var urls = arr[0]+"//"+arr[2];  $.ajax({      type: 'post',          url: urls+"项目地址",          dataType:'jsonp',          jsonp: "callback",          scriptCharset: 'utf-8',                 data: {                         "test":test                       },     success:function(data){        alert(data['test'])     }

后台接收代码:

@RequestMapping(value = "/项目地址")@ResponseBodypublic void validation(HttpServletRequest request,HttpServletResponse response,String callback,String test) throws Exception {    JSONObject jsonObj = new JSONObject();    jsonObj.put("test", test);    Object results = callback+"("+jsonObj+")";    PrintWriter out = null;      response.setContentType("application/json; charset=utf-8");       try {        out = response.getWriter();        out.write(results.toString());      } catch (IOException e) {        e.printStackTrace();      } finally {        out.close();      } }

代码还有很多不成熟的地方,希望大神们一起讨论

0 0