ajax跨域请求的三种方式(js+java)
来源:互联网 发布:java在线客服系统源码 编辑:程序博客网 时间:2024/05/11 19:22
1 : 采用jsonp (只支持get请求,后端返回的jsonp格式json,后端无需做请求放行操作)
/* $.ajax({ type: "GET", // 此处只能是get请求 post请求后端即使修改(method = RequestMethod.POST)了也不行 async: false, url: "http:localhost:8080/APmanager-webapp/api/simCard/table?id=1&serial=123", dataType: "jsonp", jsonp: "callback", jsonpCallback:"flightHandler", success: function(json){ alert('您查询到航班信息:票价: ' + json[0] + ' 元,余票: ' + json[1] + ' 张。'); }, error: function(){ alert('fail'); } }); */ // Java 后端 /* @RequestMapping(value = { "/simCard/table" }, produces = "application/json; charset=UTF-8",method = RequestMethod.GET) @ResponseBody //flightHandler public String save1(@RequestParam(value = "id", required = false) String id, @RequestParam(value = "serial", required = false) String serial, HttpServletRequest request, HttpServletResponse response) { JSONObject resultObj = new JSONObject(); JSONArray arr = new JSONArray(); arr.add("a"); arr.add("b"); arr.add("c"); System.out.println(id); System.out.println(serial); return "flightHandler(" + arr.toString() + ")"; } */
2 : 采用原始ajax (后端需要拦截请求 设置指定路由放行)
// Java后端代码必须设置response.setHeader("Access-Control-Allow-Origin","*"); //response.setHeader("Access-Control-Allow-Methods","GET,POST"); 请求放行/* $.ajax({ type: "POST", // get post 方法都是一样的 async: false, url: "http:localhost:8080/APmanager-webapp/api/simCard/table?id=1&serial=123", dataType: "json", success: function(json){ alert("success"); alert('票价: ' + json['flightHandler'][0] + ' 元,余票: ' + json['flightHandler'][1] + ' 张。'); }, error: function(){ alert('fail'); } }); */ // Java 后端/* @RequestMapping(value = { "/simCard/table" }, produces = "application/json; charset=UTF-8",method = RequestMethod.GET) @ResponseBody //flightHandler public String save1(@RequestParam(value = "id", required = false) String id, @RequestParam(value = "serial", required = false) String serial, HttpServletRequest request, HttpServletResponse response) { // 一般在请求拦截器中设置 response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Methods","GET,POST"); //请求放行 JSONObject resultObj = new JSONObject(); JSONArray arr = new JSONArray(); arr.add("a"); arr.add("b"); arr.add("c"); resultObj.put("flightHandler", arr); System.out.println(id); System.out.println(serial); return resultObj.toString(); } */
3 : XHR2(XMLHttpRequest Level 2)
// 出处地址 http://www.cnblogs.com/bigbearbb/p/4274470.html
// 需要设置后端请求放行
//response.setHeader(“Access-Control-Allow-Origin”,”*”);
//response.setHeader(“Access-Control-Allow-Methods”,”GET,POST”);
//此对象相较于 level 1 版本的 增强
/* 1 可以获取服务器端的二进制数据。
2 可以友好的提交表单数据
3 可以上传文件(内置控制上传进度事件逻辑)
4 使用HTML表单来初始化一个FormData对象 */
4 : ajax jsonp 增强插件
https://github.com/congmo/jquery-jsonp
0 0
- ajax跨域请求的三种方式(js+java)
- ajax跨域请求的三种方式(js+java)
- ajax的三种方式请求
- jquery实现Ajax请求的三种方式
- js中ajax请求的两种方式
- ajax跨域请求的解决方式
- ajax实现跨域请求的三种方法
- jq ajax 和js ajax 两种方式请求数据
- Ajax之post请求跨站请求csrf_token发送处理de三种方式
- js Ajax跨域请求
- JS跨域请求的四种处理方式
- javascript/js的ajax请求方式:GET与POST
- $http——ajax跨域请求的angular方式
- (8)ajax发送put请求的两种方式
- Ajax的四种请求方式
- ajax的4种常用请求方式
- ajax请求的几种方式
- ajax请求的三种语法
- ubuntu16.04 AWS搭建自用VPN
- RTCP包中的NTP Time 计算
- python网络爬虫(五):并发抓取
- Fragment 和RadioButton 实现底部导航拦
- java中的动态代理
- ajax跨域请求的三种方式(js+java)
- 游戏程序员养成路径
- 浅谈hadoop(三)——hadoop简介
- Java中的hashCode()方法与equals(Object)方法
- 更改LetNet-5网络
- 各浏览器版本下select及其它小样式修改
- 深度剖析ConcurrentHashMap
- 红岭创投黑名单批量导入
- git 忽略已经跟踪文件的改动