又是一年1024節日,還是應該放點乾貨出來,才能證明我們還活着!
在CSM(**Customer Service Management**)中我們發現CSM的標準用戶是沒有SNC_INTERAL角色的,以至於在AJAX代碼執行的時候XML方式不會加載ITEM項,導致在ServicePortal頁面一直會報AJAX異常(這個坑了我們好久!)。可能SN的初衷就是這麼設計的,不允許沒有internal角色的用戶去使用異步調用。但是現實是很多數據需要在字段onchange的時候就把某些信息填進去,即用戶很懶。
既然用戶想偷懶,SN又不讓我們使用GlideAjax, 我們經過反覆的測試還是發現一個曲線救國的方式。具體操作如下:
使用Inbound Message:創建一個REST API,這時就模擬了GlideAjax去調用的方式去獲取服務器數據。
迴歸原始:使用JQuery去調用REST API來執行異步更新。
在UI Script中將JQuery的原始庫代碼複製進去,並加入$$j = JQuery.noconfit(),$$J可以自己決定。注意:千萬不要勾選global選項。後悔藥不好找,當然我有~~~~~。
在service portal端注入對應的依賴關係,其依賴關係對應的JS Include腳本即對應的UI Script庫。而在Fufiller端可直接使用上面定義的$$j即可。