Actions

Backend Ajax protocol

From LimeSurvey Manual

Revision as of 10:41, 18 August 2016 by Olle (talk | contribs) (→‎Discussion)

Discussion

There should be a standard JSON protocol between the LS backend and Ajax calls to check for errors, permissions and if the user still is logged in. A suggestion would be to wrap $.ajax in a function that checks this for you, like $.lsAjax.

All server Ajax calls must return a JSON in the following format:

{
  result: mixed,
  error: {code: int, message: string},
  loggedIn: boolean,
  permission: boolean,
}

Of course there needs to be server side support for this protocol, too, with helper functions to output correct JSON code, e.g. Ajax::outputResult or Ajax::outputError($code, $message).

Preferably, the function should be able to show an error if server throws 500.