Mercurial > kallithea
changeset 8232:dac0bff4d2a3
follow: Fix args for $.post() call in toggleFollowingRepo()
Before, the resulting query string was _literally_ like:
?follows_repository_id=xxx&_session_csrf_secret_token=yyy
The server side stack ended up parsing it as:
>>> urllib.parse.parse_qsl("follows_repository_id=xxx&_session_csrf_secret_token=yyy", keep_blank_values=True)
[('follows_repository_id', 'xxx'), ('amp', ''), ('_session_csrf_secret_token', 'yyy')]
because the HTML encoding of & isn't relevant here and it thus looks like a
"matrix URL" (as drafted on https://www.w3.org/DesignIssues/MatrixURIs.html )
with the following values:
param: follows_repository_id = xxx
param: amp =
matrix: _session_csrf_secret_token = yyy
It thus ended up with the right values (if ignoring 'amp') and it thus worked
anyway.
Instead, clean it up and just pass a dict to jQuery.post as intended.
author | Ross Thomas <ross@lns-nevasoft.com> |
---|---|
date | Fri, 07 Feb 2020 13:55:27 -0800 |
parents | b495947ac174 |
children | 08c0326e9127 |
files | kallithea/public/js/base.js |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/public/js/base.js Thu Feb 06 02:31:39 2020 +0100 +++ b/kallithea/public/js/base.js Fri Feb 07 13:55:27 2020 -0800 @@ -457,8 +457,10 @@ } var toggleFollowingRepo = function(target, follows_repository_id){ - var args = 'follows_repository_id=' + follows_repository_id; - args += '&_session_csrf_secret_token=' + _session_csrf_secret_token; + var args = { + 'follows_repository_id': follows_repository_id, + '_session_csrf_secret_token': _session_csrf_secret_token + } $.post(TOGGLE_FOLLOW_URL, args, function(data){ _onSuccessFollow(target); });