Backend Ajax protocol
From LimeSurvey Manual
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.