timmalos
timmalos

Reputation: 542

Jquery Ajax and Json : How to check if undefined

I got this Jquery code :

$.ajax({
    url: "?module=gestionApplication&action=getTests&scenario="+encodeURI(scenario)+"&application="+$application,
    dataType:'json',
    success: function( data ) {
        $.each(data, function(i, item) {
            $("#tests tbody").append($tr+"<td title='"+item.DESCRIPTION+"'>"+item.ID+"</td>" +
            "<td>"+
                "Header : "+item.HEADER + '<br/>' +
                "Méthode : "+item.METHODE +  '<br/>' +
                "PostBody : "+item.POSTBODY +  '<br/>' +
                "URL : "+item.URL +  '<br/>' +
                "ParseReponse : "+item.PARSEREPONSE +  '<br/>' +
            "</td>" +

So i got a JSON response from my server, but not all fields are full. Sometimes item.HEADER or item.METHODE can not be defined, so I get "undefined" text in my table. Problem is, I'm French and I would like different text and not this 'undefined'.

So how can I test if the variable is defined or not? Or even better, is it possible to change this 'undefined' text to different text in case the variable is not defined?

Upvotes: 4

Views: 13279

Answers (4)

jAndy
jAndy

Reputation: 236122

You can do a quick conditional / logical-OR check within your concat:

"Header : " + (item.HEADER || '') + '<br/>' +

so now, if item.HEADER is undefined we will encounter the empty string instead. Of course you could also use a more expressive string like "empty" or whatnot.

Upvotes: 9

Billy Moon
Billy Moon

Reputation: 58611

Use a ternary operator... ( test ? do if true : do if false )

...+( item.HEADER ? item.HEADER : "something french" )+...

Upvotes: 1

DavidS
DavidS

Reputation: 1690

if (typeof variable == "undefined")
{
    // variable is undefined
}

Upvotes: 4

Stephen
Stephen

Reputation: 18964

easily done like so:

if (item.HEADER === undefined) {
    item.HEADER = 'indéfini';
}

// or 

if (typeof item.HEADER === 'undefined') {
    item.HEADER = 'indéfini';
}

Upvotes: 0

Related Questions