2013-03-12 95 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