在FastAdmin中的JS代码中我们可以非常便捷的使用Fast.api.ajax
来发送Ajax请求,此方法和$.ajax
有什么区别呢?
Fast.api.ajax
封装了success
和error
方法,这两个方法和我们服务端使用$this->success('成功提示');
和$this->error('失败提示');
一一对应,这样我们可以非常便捷的发送Ajax
请求。
以下是我们常用的方法
直接发送一个Ajax
请求
Fast.api.ajax('test/basic');
此方法请请求我们的Test.php
这个控制器中的basic
方法,如果我们的basic
方法中执行了$this->success('执行成功');
,则在页面中将会显示执行成功
这个绿色的提示,如果我们的basic
方法中执行了$this->error('执行失败');
,则在页面中将会显示执行失败
这个红色的提示。页面上的其它元素不会有任何变化
我们看到这里的url使用的是相对地址,FastAdmin会自动对相对链接进行转换,无需要考虑前缀
如果我们需要请求绝对地址,则以/
开头即可,例如:/index/ajax/test
发送带参数
的Ajax
请求
Fast.api.ajax({ url:'test/params', data:{name:"名称"}});
此方法和上方的直接发送一个Ajax
请求唯一的区别就是会以Post
的形式发送name
这个参数,其它相同。
发送带参数
的Ajax
请求,并自定义处理返回逻辑
Fast.api.ajax({ url:'test/params', data:{name:"名称"}}, function(data, ret){ //成功的回调 alert(ret.msg); return false;}, function(data, ret){ //失败的回调 alert(ret.msg); return false;});
此方法和上方的发送带参数
的Ajax
请求区别是不再以绿色或红色的形式提示成功或错误信息,而是以alert
的形式提醒。其中的return false;
就是阻止自动提醒的功能。这样我们成功或失败则可以由我们自己控制逻辑了。比如常用的在列表页执行成功后刷新表格,则可以使用table.bootstrapTable('refresh');
,比如执行成功后关闭所有弹出窗口可以使用Layer.closeAll();
,比如执行成功后跳转到另外一个页面location.href="/test/page2";
请注意,FastAdmin在后台会默认为所有class
中包含btn-ajax
的元素自动添加上事件。请务必注意。
请注意,Fast.api.ajax
的第一个参数一定不可以添加success
和error
回调函数,success请传第二个参数,error请传第三个参数。
如果我们在bootstrap-table
中的buttons
使用了success
和error
回调处理,和上方的成功或失败的处理方式相同。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。