在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式
admin
2023-04-11 08:43:06
0

又是一年1024节日,还是应该放点干货出来,才能证明我们还活着!


在CSM(**Customer Service Management**)中我们发现CSM的标准用户是没有SNC_INTERAL角色的,以至于在AJAX代码执行的时候XML方式不会加载ITEM项,导致在ServicePortal页面一直会报AJAX异常(这个坑了我们好久!)。可能SN的初衷就是这么设计的,不允许没有internal角色的用户去使用异步调用。但是现实是很多数据需要在字段onchange的时候就把某些信息填进去,即用户很懒。


既然用户想偷懒,SN又不让我们使用GlideAjax, 我们经过反复的测试还是发现一个曲线救国的方式。具体操作如下:


  1. 使用Inbound Message:创建一个REST API,这时就模拟了GlideAjax去调用的方式去获取服务器数据。

    在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式

  2. 回归原始:使用JQuery去调用REST API来执行异步更新。

    在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式

  3. 在UI Script中将JQuery的原始库代码复制进去,并加入$$j = JQuery.noconfit(),$$J可以自己决定。注意:千万不要勾选global选项。后悔药不好找,当然我有~~~~~。

    在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式

  4. 在service portal端注入对应的依赖关系,其依赖关系对应的JS Include脚本即对应的UI Script库。而在Fufiller端可直接使用上面定义的$$j即可。

    在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式

    在ServiceNow的CSM中无法使用Ajax API异步调用的曲线救国方式



最后更新:此文仅作为前期开发探讨使用,是一个workaround,它在新的版本比如马德里中会出现异常。其实最终问题是源于外部用户没有权限所致,在加载CSM模块的时候,系统并未给外部用户开放任何权限,以此来区别。那么最终解决方案其实是在acl中添加对应ajax方法的权限使用即可。

相关内容

热门资讯

实探杭州“被电商拉黑”街道:随... 据扬子晚报报道,5月6日,一名网友在社媒发帖称,自己在某电商平台看中了一款商品,商品界面却显示其地址...
大连女子烧烤店内用铁签喂狗,十... 5月11日,一段网传视频显示,女子让宠物狗坐在辽宁大连一家烧烤店的卡座上,并用铁签将肉串喂给宠物狗,...
沃尔核材获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示沃尔核材(002130)新获得一项实用新型专利授权,专利名为“...
科技伦理审查助力人工智能产业高... 转自:证券日报     本报记者 郭冀川     随着AI(人工智能)技术迭代加速,相关伦理审查的重...
捷昌驱动获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示捷昌驱动(603583)新获得一项实用新型专利授权,专利名为“...
2026云手机为什么这么火?这... 你是否也有过这样的念头:想试试云手机,但一看价格,月付几十甚至上百元,立马打了退堂鼓?又或者,你曾贪...
OPPO失智,武大失格,舆论失... 无知,无品,无趣。文 | 佘宗明小说《围城》里,方鸿渐在张家跟张小姐相亲,看到书架上有本《怎样去获得...
百名上海交大学子携40项科研成... 中新网上海5月11日电(记者 许婧)未来电池如何破解“放着也会老化”的难题?免疫细胞与癌细胞的“对话...
你的蓝牙耳机正在 “偷听”?这... 在科技飞速发展的当下,无线耳机、智能手表、无线键盘等蓝牙设备凭借“一键连接”带来的便捷优势,已广泛应...
微信状态能看访客了?热搜爆了!... 5月11日晚间,#微信状态 访客记录#话题冲上微博热搜,引发大量网友讨论。 有网友发帖询问:“微信...