一、前端jsjavascript
一、参数定义: var sendJSONP = function(url){ var settings = { url:url, type:"GET",//JSONP下只能GET dataType:"jsonp", async:false,//同步请求,在JSONP下无效 jsonp: "callback",//指定参数名 jsonpCallback: "jsonp",//指定回调函数名,参数名和回调函数名在url中会被拼接成..&callback=jsonp&.. headers: {'Content-Type': 'application/json;charset=utf-8'} } return promising_ajax(url,settings); } 二、promise定义: var promising_ajax = function(url, settings) { settings = settings || {}; return new Promise(function(resolve, reject) { settings.success = function(data, status, jqXHR) { resolve(data); }; settings.error = function(jqXHR, status, error) { reject(wrap_ajax_error(jqXHR, status, error)); }; ajax(url, settings); }); }; 三、请求发送: var ajax = function (url, settings) { // like $.ajax, but ensure XSRF or Authorization header is set if (typeof url === "object") { // called with single argument: $.ajax({url: '...'}) settings = url; url = settings.url; delete settings.url; } return $.ajax(url, settings); };
二、后端代码:前端
@RequestMapping(value="/openapi/add/{trainId}",method= RequestMethod.GET,produces = "application/json;charset=utf-8") public void add(@PathVariable Integer trainId, String data, String callback, HttpServletResponse response) throws IOException { response.setHeader("Content-type","application/json;charset=UTF-8"); response.getWriter().write(callback+"("+ JSON.toJSONString(obj)+")"); }
三、使用方法java
service.sendJSONP(url).then(function(resdata){ if(resdata.result == 1){ } })
jquery ajax经常使用方法查询:http://www.365mini.com/page/jquery_ajax.htmjquery