反馈已提交
网络繁忙
补充 FVS 大屏模板相关接口说明
适用于安装了「FVS大屏编辑模式」插件 V1.8.0 及之后版本的用户
ajax 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。FR.ajax 是封装过的 jQuery.ajax() 函数,在报表中对特定网页进行 ajax 请求, data 参数做了中日韩文编码处理。
options 是 ajax 参数,如下表说明:
[options]以 json 格式提供,属性如下表所示:
值必须是 Key/Value 格式,可以是字符串如 p1=pavalue&p2=p2value,或者是对象如 {p1:p1value,p2:p2value}
选填,预期服务器返回的数据类型。如果不指定,将自动根据 HTTP 包 MIME 信息来智能判断。可用值有:
注:移动端不支持 "xml"、"html"、"script"
"xml":返回 XML 文档 "html":返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。"script":返回纯文本 JavaScript代码。"json":返回 JSON 数据。"text":返回纯文本字符串。"jsonp" : 跨域采用 jsonp 方式
选填,请求成功后的回调函数,格式如:
success: function(data, textStatus){ // data 为服务器返回的,并根据 dataType 参数进行处理后的数据。//textStatus 为状态值 success}
如下示例:
FR.ajax({ url: "/webapps/webroot/a.html", success: function(data, textStatus) { alert(this.url); }});
选填,请求失败时调用此函数,格式如:
error: function(XMLHttpRequest, textStatus, errorThrown){ //参数分别为 XMLHttpRequest 对象、错误信息、捕获的异常对象。//通常 textStatus 和errorThrown 之中只有一个会包含信息 }
FR.ajax({ url: "some.jsp", error: function(XMLHttpRequest, textStatus, errorThrown) { alert(this.url); }});
complete: function(XMLHttpRequest, textStatus){ //参数分别为 XMLHttpRequest 对象和一个描述成功请求是否成功的字符串 }
FR.ajax({ url: "some.jsp", complete: function(XMLHttpRequest, textStatus) { alert(this.url); }});
选填,默认为 true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注:同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行
在 cpt 的单元格超链 JavaScript 脚本中发 ajax 请求,且在不同的回调函数中处理不同的情况:
var username = "1";var password = "1";FR.ajax({ url:"http://env.finedevelop.com:59204/Test/ReportServer?op=fs_load&cmd=sso", data:{ fr_username:username, fr_password:password }, dataType:"jsonp",//跨域采用jsonp方式 timeout:5000,//超时时间(单位:毫秒) //success:function(data) { //data参数视返回值情况而定 //FR.Msg.alert("success",data.status); //}, //error:function(errorThrown){ //FR.Msg.alert("error",errorThrown); //}, complete: function(res,textStatus){ FR.Msg.alert("complete",textStatus); } })
某些应用场景下,如果只允许在登录状态下执行一些操作,不登录就不能执行,要先判断当前的登录状态。如下图所示:
就可以通过 FR.ajax 在不刷新页面的情况下,请求登录状态并返回,如下实现方式。
1)新建模板,添加一个按钮,按钮名称修改为「查看登录状态」。如下图所示:
2)点击按钮,为按钮添加一个「点击」事件,事件内容为在不刷新页面的情况下,请求登录状态并返回。如下图所示:
JavaScript 代码如下:
FR.ajax({url: "/webroot/decision/login/info",async: false,complete: function (res, status) {if (status == 'success') {var u = FR.jsonDecode(res.responseText);if (u != null && u.data) {FR.Msg.alert("通知","登录状态");//u.data.ip u.data.time u.data.city 分别可返回上次登录ip、时间、城市}else{FR.Msg.alert("通知","登出状态");}}}});
3)保存模板,点击「分页预览」,效果如应用场景中所示。
点击可下载模板:实时获取登录状态.cpt
注:需安装「FVS大屏编辑模式」插件 V1.8.0 及之后的版本。
FVS 大屏模板中给 标题组件 添加一个「JavaScript」交互点击事件,步骤如下图所示:
注:FVS 中使用代码时需注意将 FR.xxx 换成 duchamp.xxx ,且参数格式均为 json 格式。
duchamp.ajax({ url: "/webroot/decision/login/info", async: false, complete: function (res, status) { if (status == 'success') { var u = duchamp.jsonDecode(res.responseText); if (u != null && u.data) { duchamp.Msg.alert({ title: "通知", message: "登录状态", });//u.data.ip u.data.time u.data.city 分别可返回上次登录ip、时间、城市 } else { duchamp.Msg.alert({ title: "通知", message: "登出状态", }); } } }});
预览效果如下图所示:
点击下载模板:JS实现查看平台登录状态.fvs
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526
文 档反 馈
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭