2012-09-20 2 views
1

J'essaie d'éditer une section sur une page sur Wikipedia, mais quand je le fais, toute la section est remplacée par le texte que j'envoie dans l'URL, même l'en-tête, donc cesse d'être une section. Est-il possible de modifier une section sans supprimer l'en-tête?MediaWiki API: Modifier la section sans détruire le titre

Jusqu'à présent, la fonction que je utilise (après avoir certes volé à partir d'une page de documentation) est la suivante:

function editSection(section, summary, content, editToken) { 
    $.ajax({ 
     url: mw.util.wikiScript('api'), 
     data: { 
      format: 'json', 
      action: 'edit', 
      title: mw.config.get('wgPageName'), 
      section: section, 
      summary: summary, 
      text: content, 
      token: editToken 
     }, 
     dataType: 'json', 
     type: 'POST', 
     success: function(data) { 
      if (data && data.edit && data.edit.result == 'Success') { 
     window.location.reload(); 
      } 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.'); 
     } 
    }); 
} 

pour obtenir mon jeton d'édition, j'utilise

function getEditToken() { 
    $.getJSON(
     'http://en.wikipedia.org/w/api.php?', { 
      action: 'tokens', 
      type: 'edit', 
      format: 'json' 
     }, 
     function(data) { 
      if (data.tokens) { 
       wgEditToken = data.tokens.edittoken; 
      } 
     } 
    ) 
} 

aide S'il vous plaît!

Répondre

3

Oui, le titre fait partie de la section. Donc, si vous ne voulez pas le remplacer (ou même le supprimer), vous devrez l'envoyer comme une partie du texte. Cependant, si vous ne voulez pas écraser complètement une section, vous avez déjà interrogé le texte de la section [content], n'est-ce pas? Btw: vous pouvez utiliser la carte mw.user.tokens pour obtenir le jeton, au lieu de le récupérer manuellement.

Questions connexes