2016-07-03 42 views
1

我试图调用通过AJAX在埃尔格的视图,但之后没有任何作品>>这里< <如何通过AJAX调用HTML - 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); 
     }); 
    }); 

输出:希望这个作品

我应该怎么做是错的获得?

谢谢大家提前。

UPDATE

inline_full_image_view.php

<?php 

    echo 'Hello World'; 
+0

你想使用ajax在脚本标记内添加数据吗? – Iceman

+0

谢谢@Iceman的回复。现在我只想通过AJAX调用视图。该视图是一个回应简单字符串的PHP文件。我在问题中添加了它作为更新。目前,我对数据并不感兴趣。 –

+0

我发布了一个soln。在本地JS。这是否工作,如果没有,我会删除答案! – Iceman

回答

1

埃尔格使用requirejs。试试这个:

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

否则,使用原生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();