2016-07-03 14 views
1

Ich versuche, einen Blick in Elgg über AJAX anzurufen, aber nichts funktioniert nach >> HIER < <Wie rufe ich HTML über 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); 
     }); 
    }); 

Ausgabe: Hope this

Was funktioniert konnte ich falsch bekommen ?

Vielen Dank im Voraus.

UPDATE

inline_full_image_view.php

<?php 

    echo 'Hello World'; 
+0

versuchen Sie, Daten in einem Skript-Tag mit Ajax hinzuzufügen? – Iceman

+0

Vielen Dank für die Antwort @Iceman. Im Moment versuche ich nur die Ansicht über AJAX aufzurufen. Die Ansicht ist eine PHP-Datei, die einen einfachen String enthält. Ich habe es in der Frage als Update hinzugefügt. Im Moment bin ich nicht wirklich an den Daten interessiert. –

+0

Ich postete ein soln. in nativem JS. Funktioniert das, wenn nicht, werde ich die Antwort entfernen! – Iceman

Antwort

1

Elgg verwendet requirejs. Versuchen Sie Folgendes:

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

Andernfalls mit nativen JS.

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();