當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSONP解决跨域及ajax同步问题
生活随笔
收集整理的這篇文章主要介紹了
JSONP解决跨域及ajax同步问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
1、前端js
1、參數定義:var sendJSONP = function(url){var settings = {url:url,type:"GET",//JSONP下只能GETdataType:"jsonp",async:false,//同步請求,在JSONP下無效jsonp: "callback",//指定參數名jsonpCallback: "jsonp",//指定回調函數名,參數名和回調函數名在url中會被拼接成..&callback=jsonp&..headers: {'Content-Type': 'application/json;charset=utf-8'}}return promising_ajax(url,settings);}2、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);});};3、請求發送:var ajax = function (url, settings) {// like $.ajax, but ensure XSRF or Authorization header is setif (typeof url === "object") {// called with single argument: $.ajax({url: '...'})settings = url;url = settings.url;delete settings.url;}return $.ajax(url, settings);};2、后端代碼:
@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)+")"); }3、使用方法
service.sendJSONP(url).then(function(resdata){if(resdata.result == 1){}})jquery ajax常用方法查詢:http://www.365mini.com/page/jquery_ajax.htm
轉載于:https://my.oschina.net/u/2391658/blog/1787666
總結
以上是生活随笔為你收集整理的JSONP解决跨域及ajax同步问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用户模型类(AbstractUser 介
- 下一篇: 3种方法实现CSS隐藏滚动条并可以滚动内