mui 浏览器跨域实现
2016-05-17 12:49
691 查看
from:http://ask.dcloud.net.cn/question/17373
APP开发时 是不需要JSONP支持的 mui本身就支持 但是 如果是微信或者浏览器的普通模式就不支持。所以贴出以下代码 大家可参考使用。(参考了zepto)
[/code]
APP开发时 是不需要JSONP支持的 mui本身就支持 但是 如果是微信或者浏览器的普通模式就不支持。所以贴出以下代码 大家可参考使用。(参考了zepto)
var jsonpID = 0; $.ajaxJSONP = function(url, options){ if (typeof url === "object") { options = url; url = undefined; } var options = $.extend({}, options || {}) for (var key in $.ajaxSettings) { if (options[key] === undefined) { options[key] = $.ajaxSettings[key]; } } options.url = appendQuery(options.url, '_=' + Date.now()) options.url = appendQuery(options.url, options.jsonp ? (options.jsonp + '=?') : options.jsonp === false ? '' : 'callback=?') var _callbackName = options.jsonpCallback, callbackName = ($.isFunction(_callbackName) ? _callbackName() : _callbackName) || ('jsonp' + (++jsonpID)), script = document.createElement('script'), originalCallback = window[callbackName], responseData, abort = function(errorType) { script.parentNode.removeChild(script) if (callbackName in window) window[callbackName] = empty ajaxComplete('abort', xhr, options) }, xhr = { abort: abort }, abortTimeout; if (options.error) script.onerror = function() { xhr.abort() options.error() } window[callbackName] = function(data){ clearTimeout(abortTimeout) script.parentNode.removeChild(script) delete window[callbackName] ajaxSuccess(data, xhr, options) } serializeData(options) script.src = options.url.replace(/=\?/, '=' + callbackName) document.head.appendChild(script) if (options.timeout > 0) abortTimeout = setTimeout(function(){ xhr.abort() ajaxComplete('timeout', xhr, options) }, options.timeout) return xhr }
[/code]
相关文章推荐
- 304. Range Sum Query 2D - Immutable
- 2016 UESTC Training for Dynamic Programming Q - 柱爷的宝藏 斜率优化
- 2016 UESTC Training for Dynamic Programming P - 柱爷的矩阵 矩阵、递推
- 2016 UESTC Training for Dynamic Programming N - 柱爷与子序列 这题和N题有些相似之处、用了树状数组
- 2016 UESTC Training for Dynamic Programming M - 柱爷抢银行欢庆5.1special 递推
- pdo中query()与prepare().execute()
- 2016 UESTC Training for Dynamic Programming L - 柱爷抢银行MkⅣ dp 线段树优化
- pdo中bindParam()与bindValue的区别
- OnGUI的视觉化编辑
- 2016 UESTC Training for Dynamic Programming J - 柱爷抢银行II dp单调队列优化
- LeetCode 298. Binary Tree Longest Consecutive Sequence
- 2016 UESTC Training for Dynamic Programming H - 柱爷大战滑稽王 LCS转LIS
- 2016 UESTC Training for Dynamic Programming F - 柱爷与三叉戟不得不说的故事 压位dp
- 2016 UESTC Training for Dynamic Programming D - 柱爷的恋爱 区间dp、记忆化搜索
- 2016 UESTC Training for Dynamic Programming C - 柱爷的下凡 预处理打表、背包问题
- 2016 UESTC Training for Dynamic Programming B - 柱爷与最大区间和 最大区间和推广、前缀和、枚举间隔点
- 2016 UESTC Training for Dynamic Programming A - 柱爷与咸鱼神功 0-1背包
- 【Leetcode】之Unique Paths
- Modular Query
- warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for re