0

Ajax 呼び出しから html ラベルへの応答を取得しようとしています。Tomcat サーバーを使用しています。サーバーから返された説明を確認することはできますが、ラベル テキストに応答を取得するにはどうすればよいですか。以下は私が試したことです:

Jクエリ

 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>
4

3 に答える 3

3

問題は、JSON を期待していることを jQuery に伝えていることです。

dataType: 'json',

...そして、(しようとして) 応答を JSON として解析し、オブジェクトを渡しますが、生の XHR オブジェクトのように使用しようとしています。

テキストが必要な場合は、 を削除するdataTypeか に変更してから、文字列になる which をdataType: 'text'使用します。data

あなたの他の問題は、プロパティでtextはなくfunctionであるため、呼び出す必要があることです。

そう:

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

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

}
于 2013-03-12T22:36:09.400 に答える
1

これをajax呼び出しのパラメータに追加してください

    success: function(data) {
        $('.TypeDesc').each(function(){
            $(this).text(data);
        });
    }
于 2013-03-12T22:33:58.267 に答える
0

ラベルに一意の ID などを付与する必要がありますid="TypeDesc{i}"

したがって、次のように参照できます。 $('#TypeDesc{i}').text = data.responseText;

于 2013-03-12T22:32:23.683 に答える