2016-07-03 1 views
1

Je suis en train d'appeler une vue en Elgg via AJAX, mais rien ne fonctionne après >> ICI < <Comment appeler HTML via AJAX - Elgg?

$('.glyphicon-zoom-in').click(function(event) { 

    $('.full-image-view').css("color", "red").append('<div>Hope this works</div>'); 

    // >>HERE<< 

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

    ajax.view('albums/inline_full_image_view', { 
     data: { 
       guid: 123 // querystring 
      }, 
     }).done(function (output, statusText, jqXHR) { 
      if (jqXHR.AjaxData.status == -1) { 
       return; 
      } 
      $('.full-image-view').append(output); 
     }); 
    }); 

Sortie: Espérons que cela fonctionne

Que pouvais-je recevoir mal ?

Merci d'avance.

MISE À JOUR

inline_full_image_view.php

<?php 

    echo 'Hello World'; 
+0

Etes-vous en train d'essayer d'ajouter des données dans une balise de script en utilisant ajax? – Iceman

+0

Merci pour la réponse @Iceman. En ce moment j'essaye seulement d'appeler la vue via AJAX. La vue est un fichier PHP qui fait écho à une chaîne simple. Je l'ai ajouté dans la question comme une mise à jour. Pour l'instant, je ne suis pas vraiment intéressé par les données. –

+0

J'ai posté un soln. en JS natif. Est-ce que cela fonctionne, sinon je vais supprimer la réponse! – Iceman

Répondre

1

Elgg utilise requirejs. Essayez ceci:

requirejs(["elgg/Ajax"], function(Ajax) { 
    var ajax = new Ajax(); 
    //rest of your code!! 
}); 

Sinon, en utilisant JS natif.

var xhr = new XMLHttpRequest(); 
xhr.open('GET', encodeURI('albums/inline_full_image_view')); 
xhr.onload = function() { 
    if (xhr.status === 200) { 
     alert('User\'s name is ' + xhr.responseText); 
    } 
    else { 
     alert('Request failed. Returned status of ' + xhr.status); 
    } 
}; 
xhr.send();