2016-06-15 3 views
0

J'essaye de faire un appel AJAX dans elgg, mais j'ai échoué jusqu'ici. Que pourrais-je faire de mal, ou qu'est-ce qui me manque?Comment faire des appels AJAX - Elgg

Merci d'avance.

Elgg version 2.1.1

start.php

// in myplugin_init() 
elgg_register_ajax_view('forms/myplugin/add'); 

default/formes/myplugin/add.php

<div>Successful AJAX call</div> 

default/objet/my_ajax_plugin.php

<div class="myplugin-form-container">JQ Here</div> 

<script type = "text/javascript" language = "javascript"> 

    var Ajax = require('elgg/Ajax'); 
    var ajax = new Ajax(); 

    ajax.form('myplugin/add').done(function (output, statusText, jqXHR) { 
     if (jqXHR.AjaxData.status == -1) { 
      return; 
     } 
      $('.myplugin-form-container').html(output); 
    }); 

</script> 
+0

[Y at-il raison d'éviter le mécanisme d'appel AJAX jQuery?] (Http://stackoverflow.com/questions/20150130/ajax-and-php-to-enter-multiple-forms- input-to-database/20150474 # 20150474). Je n'ai jamais utilisé Elgg mais on dirait qu'il fournit simplement un wrapper pour '$ .ajax()' – MonkeyZeus

+0

[Elgg] (https://elgg.org/) est un CMS –

Répondre

1

Elgg utilise requirejs pour les dépendances en cours de chargement. Vous ne pouvez pas simplement lancer en ligne et attendre que cela fonctionne. Vous pouvez essayer:

require(['elgg/Ajax'], Ajax => { 
    var ajax = new Ajax(); 
    ajax.view('developers/ajax_demo.html').then(body => { 
    console.log('RESULT', body) 
    }) 
}) 
+0

Merci pour la réponse. Cela peut sembler vraiment évident, mais comment puis-je y attacher un 'onClick', disons sur un' DIV' cliqué. Cela fait partie de mes difficultés. –

+0

Voulez-vous s'il vous plaît esprit illustrant. Je l'apprécierais beaucoup. –