Actions

Backend Ajax protocol: Difference between revisions

From LimeSurvey Manual

No edit summary
Line 14: Line 14:
</syntaxhighlight>
</syntaxhighlight>


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


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

Revision as of 10:41, 18 August 2016

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.