Fast
是FastAdmin中最常用的一个JS对象,我们可以在FastAdmin中的JS中随处可见,其强大的功能可以大大加快我们后台的开发。这里给大家详细讲解下Fast这个对象的使用方法。
在使用Fast
这个对象之前,首先需要注意的是这个对象只适用于使用了RequireJS
进行模块加载的JS脚本中,当然后台开发肯定是完全可以用的,但前台开发时特别注意下。
适用环境
后台全局JS脚本中、插件Bootstrap.js、控制器对应的JS均可使用,前台必须使用RequireJS加载模块时才可以使用
作用范围
Fast
这个变量是渲染到全局的,因此在任何位置均可使用,甚至在HTML中也可以(不建议)。这里需要注意的是因为FastAdmin后台使用的是iframe
嵌套的网页,因此如果在跨页面调用时务必注意当前的位置,比如需要调用顶层的Fast
时,务必加上top
,比如top.Fast.api.open
,如果需要调用父级窗口的Fast
时,务必加上parent
,比如parent.Fast.api.open
。
常用方法
发送Ajax请求
方法:
Fast.api.ajax(options, success, error);
参数:
参数 | 说明 |
---|---|
options | 必选,请求的参数,可以为一个URL地址,也可以是一个JSON对象 |
success | 可选,成功后的回调 |
error | 可选,失败后的回调 |
方法示例:Fast.api.ajax
常常需要配合后端使用$this->success("操作成功", "", $data)
或$this->error("操作失败", "", $data)
返回操作状态。
//发送一个Ajax请求,并根据后台返回的状态值进行提示Fast.api.ajax("ajax/test");//发送一个Ajax请求,并手动处理成功的事件Fast.api.ajax("ajax/test", function(data, ret){ //data为使用$this->success("操作成功", "", $data);中$data的值 //ret为{"code":1 "data":$data, "msg":"操作成功"}});//发送一个Ajax请求,并禁用提示Fast.api.ajax("ajax/test", function(data, ret){ //返回false时将不再有右上角的操作成功的提示 return false;});//发送一个POST请求,并附带参数`name`和`age`Fast.api.ajax({ url: "ajax/test", data: {"name":"李四", "age":"30"}}, function(data, ret){ //成功的回调});
温馨提示:Fast.api.ajax
在发送Ajax请求时会自动补全URL地址,因此我们在请求是写相应的地址即可,比如
//正确的写法Fast.api.ajax("ajax/test");//错误的写法Fast.api.ajax("/admin/ajax/test");//正确的写法,以/addons/开头表示插件的URL比较特殊Fast.api.ajax("/addons/example/index/test");
补全URL地址
方法:
Fast.api.fixurl(url);
参数:
参数 | 说明 |
---|---|
url | 必选,需要补全的URL地址 |
方法示例:
Fast.api.fixurl("ajax/test"); //返回:/admin/ajax/test
获取资源的CDN地址
方法:
Fast.api.cdnurl(url);
参数:
参数 | 说明 |
---|---|
url | 必选,静态资源的URL地址 |
方法示例:
//返回:http://cdn.yoursite.com/uploads/aa.pngFast.api.cdnurl("/uploads/aa.png"); //返回:http://cdn.yoursite.com/uploads/aa.pngFast.api.cdnurl("http://cdn.yoursite.com/uploads/aa.png");
温馨提示:
如果未启用云储存插件,此方法可能会始终返回相对地址,此时可以修改application/extra/upload.php
中的cdnurl
,将此改为你的域名即可。
打开一个弹出窗口
方法:
Fast.api.open(url, title, options);
参数:
参数 | 说明 |
---|---|
url | 必选,静态资源的URL地址 |
title | 可选,弹窗的标题,为空时弹窗将没有标题 |
options | 可选,layer的参数配置 |
方法示例:
// 使用弹窗打开test/detail页面Fast.api.open("test/detail", "测试"); // 使用全屏的方法打开test/detail页面Fast.api.open("test/detail", "全屏测试", {area:["100%", "100%"]});// 打开弹窗,并进行回调处理Fast.api.open("test/detail", "回调测试", { callback: function(data){ //data值为test/detail页面中使用Fast.api.close(data)回调的值 }});// 在顶层打开弹窗top.Fast.api.open("test/detail", "回调测试");
温馨提示:
此方法务必注意一下,如果打开的页面中存在类名为layer-footer
的元素,其中的元素将会被渲染在弹窗底部,比如我们在后台经常看到的确定
和重置
都是因为打开的页面中存在layer-footer
元素,如果你想扩展你的功能,你可以把你的按钮放置在此区域。
关闭弹窗并发送回调
方法:
Fast.api.close(data);
参数:
参数 | 说明 |
---|---|
data | 必选,可以是字符串或JSON对象 |
方法示例:
// 使用弹窗打开test/detail页面Fast.api.close("test"); // 使用全屏的方法打开test/detail页面Fast.api.close({name:"李四"});
温馨提示:
此方法必须配合Fast.api.open("url", "标题", {callback:function(data)})
才可以正常发送回调,否则只能关闭弹窗。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。