Java 从Ajax调用获取响应文本

Java 从Ajax调用获取响应文本,java,html,ajax,jquery,Java,Html,Ajax,Jquery,我试图将Ajax调用的响应转换为html标签。我使用的是tomcat服务器。我可以看到从服务器返回的描述,但是如何将响应写入标签文本中。下面是我尝试过的: Jquery function GetDescription(Id){ $.ajax({ type:'GET', url:'getDescription.htm', data:{dId:Id}, dataType: 'jso

我试图将Ajax调用的响应转换为html标签。我使用的是tomcat服务器。我可以看到从服务器返回的描述,但是如何将响应写入标签文本中。下面是我尝试过的:

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>



您需要为标签提供一个唯一的ID,如
ID=“TypeDesc{i}”
或其他不同的东西

因此,您可以这样引用它:
$('#TypeDesc{i}')。text=data.responseText

您需要为标签提供一个唯一的ID,如
ID=“TypeDesc{i}”
或其他不同的东西

因此,您可以这样引用它:
$('#TypeDesc{i}')。text=data.responseText

请将其添加到ajax调用的参数中

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

请将此添加到ajax调用的参数中

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

问题在于,您告诉jQuery您需要JSON:

dataType: 'json',
…因此它(试图)将响应解析为JSON并向您传递一个对象,但随后您试图将其作为原始XHR对象使用

如果需要文本,请删除
数据类型
或将其更改为
数据类型:“text'
,然后使用将成为字符串的
数据

另一个问题是,这是一个函数,而不是属性,所以需要调用它

因此:


问题在于,您告诉jQuery您需要JSON:

dataType: 'json',
…因此它(试图)将响应解析为JSON并向您传递一个对象,但随后您试图将其作为原始XHR对象使用

如果需要文本,请删除
数据类型
或将其更改为
数据类型:“text'
,然后使用将成为字符串的
数据

另一个问题是,这是一个函数,而不是属性,所以需要调用它

因此:


@razzak如何为类中的每个项设置TypeDesc.text当前它为所有TypeDesc设置了第一个值它仍然将标签的所有值设置为第一个值。我需要访问$(this.text@razzak)的索引如何为类中的每个项设置TypeDesc.text当前它为所有TypeDesc设置了第一个值它仍然将标签的所有值设置为第一个值。我需要访问$(this.text@T.J.Crowder)的索引。我如何为当前类中的每个项目设置TypeDesc.text?它为所有TypeDesc@T.J.Crowder设置了第一个值?我如何为当前类中的每个项目设置TypeDesc.text?它为所有TypeDesc设置了第一个值