我通过ajax从URL接收数据作为JSON。数据是UTF-8字符(乌尔都语语言字符串)。他们来了,如果在警报框中显示,可以看得很清楚。但是当使用jquery将它们附加到标记时,标记仍为空。代码如下:
主要部分标签:
<section class="row" id="news_detail">
<img src="../images/loading.gif" alt="loading" id="loadingimg" class="img-responsive center-block" style="width: 300px; height: auto;" />
</section> <!--loading img-->
ajax代码:
$(document).ready(function(){
var id = getParameterByName('id');
$.ajax({
url: 'http://localhost/drupal/get/news',
type: 'GET',
dataType: 'json',
crossDomain: true,
success: function(data){
$("#loadingimg").hide();
if(data.status == true)
{
var titletag = $("<p>").addClass("article_title").append(this.title);
var img = $("<img>").addClass("img-responsive center-block summary-image").attr("src", this.image_url).attr('alt',this.title);
var p = $("<p>").addClass("article_body").html(this.body);
// alert(data.body);
$(titletag).appendTo($("#news_detail"));
$(img).appendTo($("#news_detail"));
$(p).appendTo($("#news_detail"));
}
else if(data.status == false)
{
alert("The selected article could not be loaded. please try later");
}
$("#news_detail").append($("<div>").addClass("clear").html(" "));
},
error: function()
{
$("#loadingimg").hide();
alert("An error occured while retrieving the article. please try later");
}
});
});
如上所述,json很好,可以在一个警告框中看到(数据主要是URDU语言的UTF-8代码)。但是,为了澄清,json的结构如下:
{"status": true, "title": "abc", "image_url": "abc.jpg", "body": "text" }
动态标签附加到DOM但没有任何数据(即空)
答案 0 :(得分:0)
您在成功回调中引用了this
,但它应该是data
。我相信在此上下文中this
引用了全局对象,因此this.title
和this.body
未定义,因此是空白值。