2016-07-03 74 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();