2015-10-22 2 views
0

Извините, если это уже было задано, но я не могу найти ответ!

Я размещаю то, что может быть почти сформировано с использованием угловых, и ожидаем, что backend вернет html-страницу. Как мне загрузить, что страница?

$http.post(GENERATE_PRACTICE_EXAM_URL, data).then(
    function(data){ 
    # data contains the html of a page I'd like to load/redirect to 
    # $window.loadAsHtml(data); <-- want to do that 
    } 
); 

ПОЯСНЕНИЯ: Я знаю, что я могу вернуть URL с сервера и тянуть $location.path(data.data). Но я хочу вернуть html следующей страницы и загрузить его немедленно, чтобы избежать другого запроса с $location.

ответ

0

На самом деле вы должны использовать свой сервер так же, как и для хранения данных. Он должен вернуть JSON, и вы должны использовать угловые директивы, чтобы показать эти данные. Но если вам действительно нужно получить html с сервера и показать его, вы должны создать для него directive.

Существует функция «ссылка», где вы можете получить доступ к HTML элементу, а затем просто вставить HTML как

directive('myDirective', function($http){ 
    return { 
    link:function(scope, elem){ 
      $http.get('your url').then(function(htmlResponse){elem.html(htmlResponse)}); 
     } 
}; 
}); 
+0

Да, что, безусловно, имеет место для отдельных веб-сайтов страниц, но мы на самом деле, используя Джанго для нашего внутреннего интерфейса и выполняют большую часть маршрутизации с ним, поэтому большую часть времени сервер возвращает полностью сформированный html, а не только данные в json. – Brendan