/**
* 该ajax为ajax的先驱版,当页面的首屏显示时间不达标时可以用此ajax优化,这样的效果是加快首屏数据的渲染,避免cmp.ready后才发送请求,导致页面渲染很慢,具体优化办法如下<br>
* <ul>
* <li>在页面提前导入该ajax资源</li>
* <li>紧接着发送首屏需要的第一个ajax请求</li>
* <li>该组件有一个特别重要的标识cmpReady2Fire,设置为true,则会防护,该ajax请求回来的数据如果先于cmp.ready则返回的数据不会<br>
* 马上执行,会放在cmp.ready之后执行回调函数,避免了cmp.ready之前操作dom造成的错误;<br>
* 如果设置成false,则返回的数据无论是否cmp.ready,都会立即执行回调函数</li>
* <li>调用该ajax发送请求,必须设置fastAjax参数为true,用于区分和其他正常ajax调用的区别</li>
* <li>该组件的调用除了上述四点,无其他异于正常调用ajax的操作</li>
* <li style="color:red;">注:如果页面的渲染数据和数据量是达标的,不用使用此组件进行优化</li>
* </ul>
* <br>
<strong>
* 页面需要导入的文件
* <ul>
* <li>cmp-ajax-fast.js</li>
* </ul>
* </strong>
*
* @module Ajax-fast
* @subtitle 快速ajax
*/
/**
* 快速ajax
* @namespace cmp
* @class ajax_
* @constructor
* @param {Object} options 配置参数
* @param {String} options.type ajax请求类型,"GET"或者"POST",默认get
* @param {String/Object} [options.data] 请求参数,接受字符串,或者formData
* @param {String} options.url 请求地址
* @param {Object} [options.headers] 请求header
* @param {String} [options.dataType] 参数类型 默认json,接受formData
* @param {Number} [options.timeout] 请求超时设置,默认60000(单位:毫秒)
* @param {Function} [options.success] 请求成功回调
* @param {Function} [options.error] 请求失败回调
* @param {Boolean} options.cmpReady2Fire 是否是在cmp.ready后再执行ajax的回调函数
* @param {Boolean} options.fastAjax 标识该ajax是否是fastAjax 必须设置成true
*
* @example
* ```
* 文件导入路径:
* M3App端
* <script src="http://cmp/v/js/cmp-ajax-fast"></script><!--注意此文件的导入顺序-->
* <script src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
* <script src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
* <script src="http://cmp/v/js/cmp.js"></script>
* ===========================================================================================
* 微协同端:
* <script src="/seeyon/m3/cmp/js/cmp-ajax-fast"></script><!--注意此文件的导入顺序-->
* <script src="/seeyon/m3/cmp/js/cmp.js"></script>
* =========================================================================================
* 调用组件
* <script>
* cmp.ajax({
* type:"POST",
* data:JSON.stringify({"name":"x","sex":"nan"}),
* url:cmp.seeyonbasepath + '/rest/collaboration/getAll',//url的拼接 A8的域名 + rest + 应用模块名 + 具体接口名
* dataType:"json",
* timeout:"60000",
* cmpReady2Fire:true,
* fastAjax:true,
* headers:{
* 'Content-Type': 'application/json; charset=utf-8',
* 'Accept-Language' : "zh-CN",
* 'option.n_a_s' : '1'
* },
* dataType:"json",
* success:function(result){
* //do something with success result;
* },
* error:function(error){
* if(!cmp.errorHandler(error)){ //先调用平台的错误统一处理机制
* //如果平台的统一处理机制处理不了,则自己写业务逻辑
* var code = error.code;
* if(code==500){
* //根据code值做自己的业务逻辑
* }
* }
* }
* });
* </script>
* ```
*/