Я хочу вернуть данные с помощью json из php-скрипта. Данные содержат html-теги, но когда я пытаюсь использовать данные как html, я вижу «теги».
HTML-tags will be displayed as: <h1>hello</h1>
and not:
привет
Я использую тег <core-ajax>
в Polymer
<core-ajax id="ajax" auto url="php/directory_json.php" on-core-response="{{docsLoaded}}" handleAs="json"></core-ajax>
Javascript
var template = document.querySelector('template[is="auto-binding"]');
var docs = []
template.docsLoaded = function() {
this.docs = this.$.ajax.response.slice(0);
}
HTML
<template repeat="{{doc in docs}}"><div>{{doc.content}}</div></template>
PHP
$my_html = array(array('uid'=>'0', 'content'=>'<h1>hello</h1>'));
echo json_encode($my_html);
Любая помощь будет оценена
Редактировать: кажется, что вы не можете просто вывести переменную с html-кодом. Вам нужно применить его в элементе с innerHTML()
($.html()
с jquery).
Теперь я наткнулся на другую проблему, я не могу нацелить свой элемент с его идентификатором, он говорит «неопределенный».
HTML
<template repeat="{{doc in docs}}">
<div id="div-content-"{{doc.uid}}></div>
{{myfunction(doc.uid, doc.content)}}
</template>
JavaScript
myfunction = function(id, content){
$('#div-content-'+id).html(content);
}
Кажется, что элемент не «применяется» к html, пока весь цикл не будет завершен? Любая идея о том, как этого добиться?