Sarath TS
Sarath TS

Reputation: 2462

How to get Response json data in for loop using javascript

Below listed is my json response. My purpose is to get this data in javascript. My firebug console shows below result. Please help me to get data in js.

{"ProfessionFile":[[{"id":34,"title_en":"CEO"}],[{"id":35,"title_en":"PM"}]]}

Alert shows "undefined" result JS

$(".tag-handler-ambition").ready(function () {
    $.get("/profession/file", {tagcategoryid: 3}, function (response) {
            for (var i = 0; i < response.ProfessionFile.length; i++) {
                alert(response.ProfessionFile[i].id);
                $(".tag-handler-ambition").after('<div id="filename-response_' + response.ProfessionFile[i].id + '"><a href="/profession/download/' + response.ProfessionFile[i].id + '">' + response.ProfessionFile[i].title_en + '.pdf</a></div>');
            }
    });
});

Upvotes: 1

Views: 397

Answers (1)

Lucas Rodrigues
Lucas Rodrigues

Reputation: 1192

You should parse this response as a JSON, othewise JavaScript will not see it as an object:

$(".tag-handler-ambition").ready(function () {
    $.get("/profession/file", {tagcategoryid: 3}, function (response) {
        response = $.parseJSON(response);
        for (var i = 0; i < response.ProfessionFile.length; i++) {
            $(".tag-handler-ambition").after('<div id="filename-response_' + response.ProfessionFile[i].id + '"><a href="/profession/download/' + response.ProfessionFile[i].id + '">' + response.ProfessionFile[i].title_en + '.pdf</a></div>');
        }
    });
});

Upvotes: 2

Related Questions