ServiceNow getXMLAnswerメソッドの使い方のサンプル

概要
var 変数名 = new GlideAjax(サーバスクリプト名)
変数名
サンプルコード,addParam('sysparam_name’,メソッド名)
変数名,addParam('sysparm_user_id’,ユーザーのsys_idを指定)

1.クライアントスクリプトコードの定義

function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }

    var grd = new GlideAjax('GetUserInfo'); //Ajaxを利用してサーバを呼び出す。引数にサーバスクリプトファイル名を渡す
    grd.addParam('sysparm_name', 'getUserNo'); //呼び出すメソッド名を指定
    grd.addParam('sysparm_user_id', newValue); //選択されたユーザのsys_idを設定する
    grd.getXMLAnswer(function(answer) { //Ajaxを呼び出し
        if (answer.length > 0) { //メールアドレスを取得できたかチェック
            g_form.setValue('user_info', answer); //   結果をメールフィールドに設定する
        }
    });
}

2.スクリプトインクルードの定義
形式
var スクリプト名= Class.create();
スクリプト名.prototype = Object.extendsObject(AbstractAjaxProcessor, {
メソッド名:function(){処理コード}

var GetUserInfo = Class.create();
GetUserInfo.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getUserNo: function() {
            var userId = this.getParameter('sysparm_user_id');
        var grUser = new GlideRecord('sys_user'); //SystemNowのユーザテーブル(sys_id)を参照する
        if (grUser.get(userId)) { //指定したユーザが存在するか確認
            return grUser.name + '  [' + grUser.employee_number + ']'; //存在する場合はメールアドレスを返す
        }
        return ''; //存在しない場合は空文字を返す
    },


    type: 'GetUserInfo'
});

 

ServiceNow

Posted by arkgame