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 += '&amp;_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);
         });