Cómo mostrar el cuadro de alerta cuando no se proporciona ningún valor json

He mostrado el resultado de una consulta SPARQL en una página HTML usando Json, mi pregunta es cuando se ingresa un cierto valor y la consulta no muestra un resultado, debería mostrar un cuadro de alerta. Mi código está abajo:

HTML

Script de consulta

  var query = [ "PREFIX rdfs: ", "PREFIX yago: ", "PREFIX type: ", "PREFIX prop: ", "SELECT ?name ?runtime", "WHERE {", "?film rdf:type dbo:Film.", "?film dbp:name ?name.", "?film dbo:director dbr:Peter_Jackson.", "} GROUP BY ?name ?runtime" ].join(" "); alert("this query: [" + query + "]"); var queryUrl = url + "?query=" + encodeURIComponent(query) + "&format=json"; console.log(queryUrl); $.ajax({ dataType: "jsonp", url: queryUrl, success: function (data) { console.log(data); // get the table element var table = $("#results"); // get the sparql variables from the 'head' of the data. var headerVars = data.head.vars; // using the vars, make some table headers and add them to the table; var trHeaders = getTableHeaders(headerVars); table.append(trHeaders); // grab the actual results from the data. var bindings = data.results.bindings; // for each result, make a table row and add it to the table. for (rowIdx in bindings) { table.append(getTableRow(headerVars, bindings[rowIdx])); } if (bindings.trim().length == 0) { alert("empty"); //IF BINDING IS EMPTY DISPLAY ALERT BOX } } }); 

Por el momento, no muestra nada si bindings está vacío, solo muestra trHeaders .

¿Cómo puedo hacer que aparezca un cuadro de alerta si los bindings están vacíos o si

está vacío? Espero que esta pregunta haya sido entendida. Gracias por tu tiempo.

Puedes hacer esto de diferentes maneras:

Si los bindings son una constante de su objeto, pero a veces pueden estar vacíos:

 if (data.results.bindings.length) { //exists } else { alert('goes here'); } 

Si los bindings no siempre se establece en la respuesta del servidor:

 if (data.results.hasOwnProperty('bindings')) { //exists } else { alert('goes here'); }