(Quick Reference)

remoteLink

Purpose

Creates a link that uses Ajax to call a remote function when clicked

Examples

Example controller for an application called shop:

class BookController {

def list() { [books: Book.list(params)] }

def show() { [book: Book.get(params.id)] }

def bookByName() { [book: Book.findByName(params.bookName)] } }

Example usages for above controller:

<g:remoteLink action="show" id="1">Test 1</g:remoteLink>

<g:remoteLink action="show" id="1" update="[success:'success',failure:'error']" on404="alert('not found');">Test 2</g:remoteLink>

<g:remoteLink action="show" id="1" update="success" onLoading="showSpinner();">Test 3</g:remoteLink>

<g:remoteLink action="show" id="1" update="success" params="[sortBy:'name',offset:offset]">Test 4</g:remoteLink>

As a method call in GSP:

my link = <%= remoteLink(action: 'show', id: 1,
  update: 'success', onFailure: 'showError();')
  { "this is the link body" } %>

Description

Attributes

  • action (optional) - the name of the action to use in the link; if not specified the default action will be linked
  • controller (optional) - the name of the controller to use in the link; if not specified the current controller will be linked
  • id (optional) - The id to use in the link
  • fragment (optional) - The link fragment (often called anchor tag) to use
  • mapping (optional) - The named URL mapping to use to rewrite the link
  • params (optional) - a Map containing request parameters
  • update (optional) - Either a Map containing the elements to update for 'success' or 'failure' states, or a string with the element id to update, in which case failure events would be ignored
  • before (optional) - The JavaScript function to call before the remote function call
  • after (optional) - The JavaScript function to call after the remote function call
  • asynchronous (optional) - Whether to do the call asynchronously (defaults to true)
  • method (optional) - The method to use the execute the call (defaults to POST)

Events

  • onSuccess (optional) - The JavaScript function to call if successful
  • onFailure (optional) - The JavaScript function to call if the call fails
  • on_ERROR_CODE (optional) - The JavaScript function to call to handle the specified error code (eg on404="alert('not found!')"). With Prototype, this prevents execution of onSuccess and onFailure.
  • onUninitialized (optional) - The JavaScript function to call if Ajax fails to initialise
  • onLoading (optional) - The JavaScript function to call when the remote function loads the response
  • onLoaded (optional) - The JavaScript function to call when the remote function completes loading the response
  • onComplete (optional) - The JavaScript function to call when the remote function completes, including any updates

Source