User:DannyS712 test/set JSON.js

set_JSON_config = { name: "set JSON", version: 1.0, debug: false };

function set_JSON ( page, new_content, edit_summary, on_success ){ if (set_JSON_config.debug) console.log( page, new_content, edit_summary ); $.ajax({	   url: mw.util.wikiScript( 'api' ),	    data: {	        format: 'json',	        action: 'edit',	        title: page,	        text: new_content,	        summary: edit_summary,	        token: getToken	    },	    dataType: 'json',	    type: 'POST',	    success: function( data ) {	        if ( data && data.edit && data.edit.result == 'Success' ) {	            alert( on_success );	        } else if ( data && data.error ) {	            alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );	        } else {	            alert( 'Error: Unknown result from API.' );	        }	    },	    error: function( xhr ) {	        alert( 'Error: Request failed.' );	    } } ); } function getToken { var tokenReq = { action: 'query', meta: 'tokens', format: 'json' };    var result = null; var scriptUrl = mw.config.get( 'wgScriptPath' ) + '/api.php'; $.ajax({       url: scriptUrl,        type: 'get',        data: tokenReq,        dataType: 'json',        async: false,        success: function(data) {            result = data.query.tokens.csrftoken;        }      }); return result; }