AJAX

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 5 min. de leitura
  • AJAX (JavaScript assíncrono e XML) é um grupo de técnicas de desenvolvimento inter-relacionadas do lado do cliente usadas para criar aplicações Web assíncronas.

    O AJAX permite que aplicações web enviem e recuperem informações de e para um servidor em segundo plano, sem afetar a experiência do usuário com a página da web exibida.

    GlideAjax

    . GlideAjax a classe permite a execução do código do lado do servidor do cliente. GlideAjax as chamadas passam parâmetros para as inclusões de script e, usando convenções de nomenclatura, permitem o uso desses parâmetros.

    Nota:
    Esta funcionalidade requer conhecimento de JavaScript.
    Usando GlideAjax :
    • Inicialize GlideAjax com o nome da inclusão de script que você deseja usar.
    • Ao criar a inclusão de script, você deve definir o campo de nome para ser exatamente igual ao nome da classe.
    • Ao criar a inclusão de script, você deve selecionar Cliente solicitável caixa de seleção.
    • Especifique o parâmetro sysparm_name. GlideAjax usos sysparm_namepara descobrir qual função usar.
    • Qualquer parâmetro extra pode ser passado, e todos devem começar com sysparm_. Evite usar nomes de parâmetros predefinidos:
      • sysparm_name
      • sysparm_function
      • sysparm_value
      • sysparm_type
    • O código é executado com GetXML() ou GetXMLWait() funções.

    Para obter informações adicionais, consulte GlideAjax API.

    Exemplos de GlideAjax assíncrono

    O assíncrono tem duas partes GlideAjax script: código do lado do cliente e do lado do servidor.

    Olá, mundo: Retornando um valor do servidor

    Lado do cliente

    Este código é executado no cliente (o navegador da web). Crie um client script normalmente. Isso envia os parâmetros para o servidor, que faz o processamento. Para que o cliente não aguarde o resultado, uma função de retorno de chamada é usada para retornar o resultado, passado para o. GetXML() função. (Neste caso, é chamado HelloWorldParse .)

    . GetXMLWait() a função não precisa de uma função de retorno de chamada separada, mas isso bloqueará o cliente. Se a comunicação cliente-servidor demorar muito tempo (por exemplo, em redes lentas), a aplicação parecerá sem resposta e lenta. Um exemplo de GetXMLWait() está na seção a seguir.
    var ga = new GlideAjax('HelloWorld');
    ga.addParam('sysparm_name', 'helloWorld');
    ga.addParam('sysparm_user_name', "Bob");
    ga.getXML(HelloWorldParse);
     
    function HelloWorldParse(response) {
      var answer = response.responseXML.documentElement.getAttribute("answer");
      alert(answer); }

    Lado do servidor

    O código do lado do servidor para a função acima. Não crie uma regra de negócio, mas navegue até Definição do sistema > Inclusão de script e criar um novo script. Cole o código abaixo.
    Nota:
    Você deve definir o nome da inclusão de script como HelloWorld .
    • . sys_script_include o código deve estender o. AbstratoAjaxProcessor E Be Glide AJAX habilitados.
    • Nomes de funções que começam com "_" são considerados privados e não podem ser chamados pelo cliente.
    • Evite substituir métodos de AbstratoAjaxProcessor , incluindo inicialize . Embora seja possível invocar métodos do seu objeto de superclasse que você substituiu, é complicado e melhor evitá-lo completamente.
    var HelloWorld = Class.create();
    HelloWorld.prototype = Object.extendsObject(AbstractAjaxProcessor, {
       helloWorld:function() { return "Hello " + this.getParameter('sysparm_user_name') + "!"; } ,
       _privateFunction: function() { // this function is not client callable     
        }
     });
    Isso resulta em uma caixa de alerta que diz "Olá, Bob!" quando você visita o formulário.

    Retornando vários valores

    Como a resposta é um documento XML, não estamos limitados a retornar um único resposta valor. Este é um exemplo mais complexo que retorna vários nós XML e atributos.

    Inclusão de script do processador AJAX

    /*
     * MyFavoritesAjax script include Description - sample AJAX processor returning multiple value pairs
     */ 
    var MyFavoritesAjax = Class.create();
    MyFavoritesAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, {
     
    	 /*
    	 * method available to client scripts call using:
    	 * var gajax = new GlideAjax("MyFavoritesAjax");
    	 * gajax.addParam("sysparm_name","getFavorites");
    	 */
    	getFavorites: function() { // build new response xml element for result
             var result = this.newItem("result");
    	  result.setAttribute("message","returning all favorites");
     
    	  //add some favorite nodes with name and value attributes 
             this._addFavorite("color","blue");
             this._addFavorite("beer","lager");
             this._addFavorite("pet","dog");
           },
    	 // all items are returned to the client through the inherited methods of AbstractAjaxProcessor
    	 _addFavorite: function(name, value) { 
              var favs = this.newItem("favorite");
    	   favs.setAttribute("name",name);
    	   favs.setAttribute("value",value); },
     
    	type:"MyFavoritesAjax"
     
     });

    Client scripts

    // new GlideAjax object referencing name of AJAX script include 
    var ga = new GlideAjax("MyFavoritesAjax"); 
    // add name parameter to define which function we want to call 
    // method name in script include will be getFavorites
    ga.addParam("sysparm_name","getFavorites");
     
    // submit request to server, call ajaxResponse function with server response
     
    ga.getXML(ajaxResponse);
     
    function ajaxResponse(serverResponse) { 
      // get result element and attributes
      var result = serverResponse.responseXML.getElementsByTagName("result");
      var message = result[0].getAttribute("message");
     
      //check for message attribute and alert user
      if(message) alert(message);
     
      //build output to display on client for testing 
      var output = "";
     
      // get favorite elements 
      var favorites = serverResponse.responseXML.getElementsByTagName("favorite");
      for(var i = 0; i < favorites.length; i ++) { 
        var name = favorites[i].getAttribute("name");
        var value = favorites[i].getAttribute("value");
        output += name + " = " + value + "\n "; }
     
      alert(output); }

    Resposta XML

    <xml sysparm_max= "15" sysparm_name="getFavorites" sysparm_processor="MyFavoritesAjax">
      <result message = "returning all favorites"></result>
      <favorite name = "color" value = "blue"></favorite>
      <favorite name = "beer" value = "lager"></favorite>
      <favorite name = "pet" value = "dog"></favorite>
    </xml>

    Exemplos de GlideAjax síncrono

    Use síncrono quando o script não puder continuar sem GlideAjax resposta. Isso interrompe a sessão até que a resposta seja recebida.

    Se o seu caso de uso exigir que nenhum processamento adicional possa ocorrer até GlideAjax a resposta foi recebida, você pode usar GetXMLWait() . No entanto, como isso atrasará seu código e bloqueará a sessão do usuário até que a resposta seja recebida, geralmente é recomendável que você use GetXML() com uma função de retorno de chamada.

    Nota:
    Não use Valor AJAXSynchronously .

    . GetXMLWait() o método não está disponível em aplicações com escopo.

    Este código resulta em um alerta do lado do cliente que é exibido O servidor diz Olá, Bob! .

    O código do cliente.
    var ga = new GlideAjax('HelloWorld') ;
    ga.addParam('sysparm_name','helloWorld');
    ga.addParam('sysparm_user_name',"Bob");
    ga.getXMLWait(); 
    alert(ga.getAnswer());
    O script do lado do servidor inclui o código.
    var HelloWorld = Class.create();
    HelloWorld.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    helloWorld: function() 
     { return "The Server Says Hello " + this.getParameter('sysparm_user_name') + "!"; } } );

    AJAXClientHelper

    Fornece funções auxiliares para que clientes Ajax recuperem um valor de um cliente Ajax.

    Onde usar

    Use esta inclusão de script sempre que precisar recuperar um valor de um cliente Ajax.

    Resumo do método

    Resumo do método Descrição
    GetDisplay() Obtém o valor de exibição da lista de seleção.

    Detalhe do método

    Método de API Descrição Parâmetros de entrada Retornos de saída
    GetDisplay() Obtém o valor de exibição da lista de seleção. nenhum O valor de exibição.

    Curl

    // getDisplay
    (function(table, sysId) {
        var ga = new GlideAjax('AjaxClientHelper');
        ga.addParam("sysparm_name", "getDisplay");
        ga.addParam('sysparm_table', 'incident');
        ga.addParam('sysparm_value', "0598b22b877313003c1c8467a7cb0b71");
        ga.getXMLWait();
        return ga.getAnswer();
    }("incident", "0598b22b877313003c1c8467a7cb0b71")); // Returns 'INC0010001'