---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideAjax - Cliente

# GlideAjax - Cliente {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

A classe GlideAjax permite que um client script chame o código do lado do servidor em uma inclusão de script.

Para usar GlideAjax em um client script, siga estas etapas gerais.

1. Crie uma instância GlideAjax chamando o construtor GlideAjax. Como o argumento para o construtor, especifique o nome da classe de inclusão de script que contém o método que você deseja chamar.
2. Chame o método addParam com o parâmetro sysparm_name e o nome do método de inclusão de script que você deseja chamar.
3. Opcional. Chame o método addParam uma ou mais vezes para fornecer ao código de inclusão de script outros parâmetros necessários.
4. Execute o código do lado do servidor chamando getXML().  
   Nota:  
   getXML() é o método preferencial para executar o código, porque é assíncrono e não impede a execução de outro código do cliente. Outro método, getXMLWait(), também está disponível, mas não é recomendado. O uso de getXMLWait() garante a ordem de execução, mas pode fazer com que a aplicação pareça não estar respondendo, prejudicando significativamente a experiência do usuário de qualquer aplicação que a utilize. getXMLWait() não está disponível para aplicações com escopo.

    var ga = new GlideAjax('HelloWorld'); // HelloWorld is the script include class 
    ga.addParam('sysparm_name','helloWorld'); // helloWorld is the script include method 
    ga.addParam('sysparm_user_name',"Bob"); // Set parameter sysparm_user_name to 'Bob' 
    ga.getXML(HelloWorldParse);  /* Call HelloWorld.helloWorld() with the parameter sysparm_user_name set to 'Bob' 
          and use the callback function HelloWorldParse() to return the result when ready */

    // the callback function for returning the result from the server-side code
    function HelloWorldParse(response) {  
       var answer = response.responseXML.documentElement.getAttribute("answer"); 
        alert(answer);
    }

## GlideAjax -- GlideAjax (cadeia de caracteres class_name) {#ariaid-title2}

Construtor para GlideAjax.
{#r_GLAX-GlideAjax_S__table_gpw_cns_b5__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| class_name | Cadeia de caracteres | O nome da classe do lado do servidor que contém o método que você deseja executar. |
[Tabela 1. Parâmetros]

{#r_GLAX-GlideAjax_S__table_gpw_cns_b5}  
Neste exemplo, um client script define o usuário como Fred Luddy e, em seguida, chama uma inclusão de script para obter seu gerente.

    // client script -- contains onLoad function and a callback function

    function onLoad() {
       var ga = new GlideAjax('GetUserInfo'); // GetUserInfo is the script include name 
       ga.addParam('sysparm_name','managerName'); // managerName is the function in the script include that we're calling 
       ga.addParam('sysparm_user_name','fred.luddy'); // set user to Fred Luddy 

       /* Call GetUserInfo.managerName() with user set to Fred Luddy and use the callback function ManagerParse() to return the result when ready */
       ga.getXMLAnswer(ManagerParse);  		
    }

    // callback function for returning the result from the script include
    function ManagerParse(response) {  
       alert(response);
    }


    // GetUserInfo script include 

    var GetUserInfo = Class.create();
    GetUserInfo.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

        managerName: function() {
            var userName = this.getParameter("sysparm_user_name");
            var grUser = new GlideRecord('sys_user');
            grUser.get("user_name", userName);

            // Build the payload. You can return additional data if needed. 
            var result = {    
               "manager": grUser.getDisplayValue('manager')
            }; 
            return JSON.stringify(result);
        },
        type: 'GetUserInfo'
    });

## GlideAjax -- addParam(cadeia de caracteres parm_name, cadeia de caracteres parm_value) {#ariaid-title3}

Especifica um nome de parâmetro e um valor a serem passados para a função do lado do servidor associada a este objeto GlideAjax.
Você pode executar addParam várias vezes com parâmetros e valores diferentes.  
Nota:  
A primeira chamada para addParam deve ser com o parâmetro sysparm_name e o nome do método do lado do servidor que você deseja chamar. O código do lado do servidor não é executado até que o client script chame getXML() ou getXMLAnswer().
{#r_GLAX-addParam_S_S__table_epw_cns_b5__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| parm_name | Cadeia de caracteres | O nome do parâmetro a ser aprovado. (O nome deve começar com `sysparm_`.) |
| parm_value | Cadeia de caracteres | O valor a ser atribuído a parm_name. |
[Tabela 2. Parâmetros]

{#r_GLAX-addParam_S_S__table_epw_cns_b5} {#r_GLAX-addParam_S_S__table_fpw_cns_b5__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 3. Retorna]

{#r_GLAX-addParam_S_S__table_fpw_cns_b5}  
Neste exemplo, um client script define o usuário como Fred Luddy e, em seguida, chama uma inclusão de script para obter seu gerente.

    // client script -- contains onLoad function and a callback function

    function onLoad() {
       var ga = new GlideAjax('GetUserInfo'); // GetUserInfo is the script include name 
       ga.addParam('sysparm_name','managerName'); // managerName is the function in the script include that we're calling 
       ga.addParam('sysparm_user_name','fred.luddy'); // set user to Fred Luddy 

       /* Call GetUserInfo.managerName() with user set to Fred Luddy and use the callback function ManagerParse() to return the result when ready */
       ga.getXMLAnswer(ManagerParse);  		
    }

    // callback function for returning the result from the script include
    function ManagerParse(response) {  
       alert(response);
    }


    // GetUserInfo script include 

    var GetUserInfo = Class.create();
    GetUserInfo.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

        managerName: function() {
            var userName = this.getParameter("sysparm_user_name");
            var grUser = new GlideRecord('sys_user');
            grUser.get("user_name", userName);

            // Build the payload. You can return additional data if needed. 
            var result = {    
               "manager": grUser.getDisplayValue('manager')
            }; 
            return JSON.stringify(result);
        },
        type: 'GetUserInfo'
    });

## GlideAjax -- getAnswer() {#ariaid-title4}

Recupera os resultados de um método do lado do servidor chamado do cliente por meio de getXMLWait().
{#r_GLAX-getAnswer__table_mpw_cns_b5__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nenhum |   |   |
[Tabela 4. Parâmetros]

{#r_GLAX-getAnswer__table_mpw_cns_b5} {#r_GLAX-getAnswer__table_npw_cns_b5__entry__2}

| Tipo | Descrição |
|-|-|
| vazio | O resultado retornado pelo método do lado do servidor chamado anteriormente com getXMLWait(). |
[Tabela 5. Retorna]

{#r_GLAX-getAnswer__table_npw_cns_b5}

## GlideAjax - getXMLAnswer (retorno de chamada de função, adicionalParam de objeto, param de resposta de objeto) {#ariaid-title5}

Chama o processador de forma assíncrona e obtém o elemento de resposta da resposta no formato XML.
{#r_GLAX-getXMLAnswer_F__table_hc2_nsz_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| retorno de chamada | Função | Função de retorno de chamada. A função recebe o elemento de resposta da resposta no formato XML como um argumento. |
| ParamParaadicional | Objeto | Opcional. Par de nome-valor de parâmetros adicionais. |
| responseParam | Objeto | Opcional. Segundo argumento para a função de retorno de chamada. |
[Tabela 6. Parâmetros]

{#r_GLAX-getXMLAnswer_F__table_hc2_nsz_dw} {#r_GLAX-getXMLAnswer_F__table_ic2_nsz_dw__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 7. Retorna]

{#r_GLAX-getXMLAnswer_F__table_ic2_nsz_dw}  
Retorna o número de anexos

    function updateAttachmentCount(sysid) {
      var ga = new GlideAjax('AttachmentAjax');
      ga.addParam('sysparm_type', 'attachmentCount');
      ga.addParam('sysparm_value', sysid);
      ga.getXMLAnswer(numberOfAttachments, null, sysid); // callback: numberOfAttachments with args (answer, sysid)
    }

    function numberOfAttachments(answer, sysid) {
      // we want to know there are 5 attachments, not 5.0 attachments
      var number = parseInt(answer);
      var buttons = $$('.attachmentNumber_' + sysid);
      if (buttons[0] == undefined)
        $('header_attachment_list_label').down().innerHTML = number;
      else {
        for (var i = 0; i < buttons.length; i++) {
          buttons[i].innerHTML = number;
        }
      }
    }

## GlideAjax -- getXML (retorno de chamada da função) {#ariaid-title6}

Envia ao servidor uma solicitação para executar o método e os parâmetros associados a este objeto GlideAjax.
O servidor processa a solicitação de forma assíncrona e, quando estiver pronto, retorna os resultados por meio da função especificada como callback_function.
{#r_GLAX-getXML_S__table_ipw_cns_b5__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| retorno de chamada | Função | O nome da função de retorno de chamada para processar os resultados retornados pelo servidor. |
[Tabela 8. Parâmetros]

{#r_GLAX-getXML_S__table_ipw_cns_b5} {#r_GLAX-getXML_S__table_jpw_cns_b5__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 9. Retorna]

{#r_GLAX-getXML_S__table_jpw_cns_b5}  

    var comments = gel("dialog_comments").value;
    var ga = new GlideAjax('validateComments'); //Call script include to escape text
    ga.addParam('sysparm_name', 'validateComments');
    ga.addParam('sysparm_comments', comments);
    ga.getXML(callback);
     
    return false;
     
    function callback(response) {
      var comments = response.responseXML.documentElement.getAttribute("answer");
      comments = trim(comments);
      if (comments == "") {
         //If comments are empty, alert the user and stop submission
         alert("Please enter your comments before submitting.");
      } else {
        //If there are comments, close the dialog window and submit them
        GlideDialogWindow.get().destroy(); //Close the dialog window
        g_form.setValue("comments", comments); //Set the "Comments" field with comments in the dialog
      }

## GlideAjax -- getXMLWait() {#ariaid-title7}

Envia ao servidor uma solicitação para executar o método e os parâmetros associados a este objeto GlideAjax.
O servidor processa a solicitação de forma síncrona e não processará outras solicitações do cliente até que seja concluído. Para recuperar os resultados, o cliente deve chamar getAnswer(). O uso de getXMLWait() garante a ordem de execução, mas pode fazer com que a aplicação pareça não estar respondendo, prejudicando significativamente a experiência do usuário de qualquer aplicação que a utilize. Recomendamos o uso de getXML().  
Nota:  
getXMLWait() não está disponível para aplicações com escopo.
{#r_GLAX-getXMLWait__table_kpw_cns_b5__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nenhum |   |   |
[Tabela 10. Parâmetros]

{#r_GLAX-getXMLWait__table_kpw_cns_b5} {#r_GLAX-getXMLWait__table_lpw_cns_b5__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 11. Retorna]

{#r_GLAX-getXMLWait__table_lpw_cns_b5}  

    var ga = new GlideAjax('HelloWorld');
          ga.addParam('sysparm_name','helloWorld');
          ga.addParam('sysparm_user_name',"Bob");
          ga.getXMLWait();
          alert(ga.getAnswer());


