在FastAdmin中的JS代码中我们可以非常便捷的使用
在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回调处理,和上方的成功或失败的处理方式相同。
默认是POST,如果需要发送GET,请使用
Fast.api.ajax({
url:'yoururl',
type:'get'
});
你要define一下先,类似如下:
define(['fast','jquery'], function (Fast, $) {
});
发表评论 取消回复