我正在使用ajax从php服务器接收数据。数据以json格式接收。为了显示这些数据,我创建了具有唯一ID的动态div。我已经在已经结构化的html中添加了动态div。
现在在使用("#"+dynamicid).html("data")
吐出数据时,我无法获得所需的输出。
以下是代码:
$.ajax({
url: "loader.php",
dataType: "json",
success: function(data) {
var i = "kmapN"+data.id;
$('<div class="kmapName">').append($('<div id="'+ i +'">'))
.append($('</div></div>'))
.appendTo('.new_content');
$("#"+i).html(data.kname);
}
});
这是服务器的json输出:
{"id":2,"kname":"This is the title!"}
EDIT1: 如果我不使用动态ID,我会得到结果。因此问题在于生成和访问动态ID。
EDIT2: 这里的想法是通过使用jquery的(“#”+ id).html(“output”)函数来防止javascript和html注入攻击。
答案 0 :(得分:0)
试试这个
$('.kmapName').append('--Output you want to be rendered ---');
答案 1 :(得分:0)
必须定义dataType
。
创建动态div并将变量附加到主div
.ajax({
url: "loader.php",
dataType:'json',
success: function(data) {
var i = "kmapN"+data.id;
var new_div ='<div class="kmapName"><div id="'+ i +'">'+ data.kname +'</div></div>';
$(".new_content").append(new_div);
}
});