ajax二次封装之异步加载
ajax异步加载会导致在数据未加载回来就读取数据,然后出现数据为空的报错。在ajax封装时,将ajax直接改为同步,虽然可以解决报错,但是会导致页面渲染被阻塞,接口反应时间较长后,会极大的影响用户体验。
在做一个展示系统的时候,数据库数据较多,页面报表调用接口较多,倒是页面刷新后需要4-5s去加载,所以将ajax封装的方法做了回调。
框架(vue)
在项目中封装了一个全局方法:ajaxData.js
exports.install = function (Vue, options) { Vue.prototype.ajaxData = function (type,url,data,callback){ var datas; $.ajax({ type: type, url: "http://localhost:9594"+url, data:data, dataType: \'text\', async: true, success: function(result){ datas = $.parseJSON( result ); callback(result); }, error:function () { this.$router.push({ path: \'/\' }) } }); }