2013-03-12 107 views
0

我正在尝试将Ajax调用的响应转换为html标签。我正在使用一个tomcat服务器。我能够看到从服务器返回的描述,但我如何得到响应的标签文本。在是我曾尝试:从Ajax调用获取响应文本

jQuery的

function GetDescription(Id){     
     $.ajax({ 
     type:'GET', 
     url:'getDescription.htm', 
     data:{dId:Id}, 
     dataType: 'json', 
     success: function (data) { 

      $('.TypeDesc').text = data.responseText; 

     } 

    }); 

} 

$(document).ready(function() {  


      $(".photos").each(function(i){    

       if ($(this).val() != '') { 
         var image = new Image();      
         image.src = $(this).val(); 

         image.onload = function(){ 
             var typeId = document.getElementsByClassName("TypeId")[i].value; 
             GetDescription(typeId); 

             var ctx = document.getElementsByClassName("canvas")[i].getContext('2d'); 
             ctx.drawImage(image,0,0, 320, 240); 
         }    
       } 
      });  




     }); 

HTML

</head> 
<body> 
<div id ="content"> 
<c:forEach items="${object}" var="i"> 
<div id="table">  
    <div> 
     <p><canvas class="canvas" height="240" width="320"></canvas> 
    </div> 
     <a href="registration.htm">Name:- ${i.fName} ${i.lName}</a> 
     <input type="hidden" id="photo" value="${i.photo}" class="photos"/> 
     <input type="hidden" id="Number" value="${i.Number}" /> 
     <input type="text" class="TypeId" value="${i.citizenTypeId}"/> 
     <label class="TypeDesc"></label> 
</div> 
</c:forEach> 
</div> 
</body> 
</html> 

回答

1

请将其添加到Ajax调用

success: function(data) { 
     $('.TypeDesc').each(function(){ 
      $(this).text(data); 
     }); 
    } 
+0

@拉扎克我怎么可以在类中设置TypeDesc.text每个项目目前其所有TYPEDESC – devdar 2013-03-12 23:18:19

+0

使用设定的第一个值。每个'()'函数,看到更新回答。 – razzak 2013-03-12 23:53:14

+0

它仍然将标签的所有值设置为第一个值。我需要访问$(this).text的索引 – devdar 2013-03-13 02:53:23

0

你需要给拉布勒一个唯一的ID喜欢id="TypeDesc{i}"或不同的东西。

所以,你可以参考它是这样的: $('#TypeDesc{i}').text = data.responseText;

3

问题的参数是你告诉你期待的jQuery JSON:

dataType: 'json', 

...等它(试图)解析响应为JSON和你擦肩而过的对象,但此时你尝试使用它LIK e原始XHR对象。

如果你想文本,删除dataType或将其更改为dataType: 'text',然后用data这将是一个字符串。

你的另一个问题是,text功能,而不是一个性质,所以你需要呼叫它。

所以:

dataType: 'text', 
success: function (data) { 

    $('.TypeDesc').text(data); 

} 
+0

@ T.J.Crowder如何为类中的每个项目设置TypeDesc.text目前,它为所有TypeDesc设置第一个值 – devdar 2013-03-12 23:18:55