Use $.getJSON()'s middle parameter rather than DIY URL building in AJAX watch JS
authorRoan Kattouw <catrope@users.mediawiki.org>
Tue, 14 Dec 2010 16:56:56 +0000 (16:56 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Tue, 14 Dec 2010 16:56:56 +0000 (16:56 +0000)
resources/mediawiki.action/mediawiki.action.watch.ajax.js

index 0ef5b85..72ff5e3 100644 (file)
@@ -82,10 +82,18 @@ $( document ).ready( function() {
                }
 
                wgAjaxWatch.setLinkText( $link, $link.data( 'action' ) + 'ing' );
+               
+               var reqData = {
+                       'action': 'watch',
+                       'format': 'json',
+                       'title': $link.data( 'target' )
+               };
+               if ( $link.data( 'action' ) == 'unwatch' ) {
+                       reqData['unwatch'] = '';
+               }
                $.getJSON( mw.config.get( 'wgScriptPath' )
-                               + '/api' + mw.config.get( 'wgScriptExtension' ) + '?action=watch&format=json&title='
-                               + encodeURIComponent( $link.data( 'target' ) )
-                               + ( $link.data( 'action' ) == 'unwatch' ? '&unwatch' : '' ),
+                               + '/api' + mw.config.get( 'wgScriptExtension' ),
+                       reqData,
                        function( data, textStatus, xhr ) {
                                wgAjaxWatch.processResult( data, $link );
                        }