diff options
Diffstat (limited to 'js/lib/ajax.js')
| -rw-r--r-- | js/lib/ajax.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/js/lib/ajax.js b/js/lib/ajax.js index 36f76b2c3..b3f39cc42 100644 --- a/js/lib/ajax.js +++ b/js/lib/ajax.js @@ -187,14 +187,18 @@ elgg.action = function(action, options) { options = elgg.ajax.handleOptions(action, options); - options.data = elgg.security.addToken(options.data); + // This is a misuse of elgg.security.addToken() because it is not always a + // full query string with a ?. As such we need a special check for the tokens. + if (!elgg.isString(options.data) || options.data.indexOf('__elgg_ts') == -1) { + options.data = elgg.security.addToken(options.data); + } options.dataType = 'json'; //Always display system messages after actions var custom_success = options.success || elgg.nullFunction; options.success = function(json, two, three, four) { - if (json.system_messages) { - elgg.register_error(json.system_messages.errors); + if (json && json.system_messages) { + elgg.register_error(json.system_messages.error); elgg.system_message(json.system_messages.success); } |
