如何检测没有对象的响应

时间:2016-04-02 13:26:12

标签: javascript jquery

完成新手问题:

当我使用API​​查询数据库时,我有时会得到一个不包含任何对象的响应。

使用下面的代码,根本不会发出警报。

我需要一种方法来检测这种类型的空响应 - jQuery.isEmptyObject不起作用。

$.get("http://api.lmiforall.org.uk/api/v1/ashe/estimatePay",
{ soc: soc, coarse: "false", filters:"region:12"},
function(datani) {

alert(datani);

if(jQuery.isEmptyObject(datani)) {
alert("empty");

}

3 个答案:

答案 0 :(得分:0)

使用完成事件来识别。

 <script>
    $.get( "test.php", { name: "John", time: "2pm" } )
        .done(function( data ) {
            alert( "Data Loaded: " + data );
    });
</script>

答案 1 :(得分:0)

听起来你没有回答是空洞的object

类似的东西:

var myObj = {};

将被视为isEmptyObject()将返回true的空对象,但空字符串(无响应)不会

尝试更改:

if(jQuery.isEmptyObject(datani)) {

if(!datani) {

答案 2 :(得分:0)

  

使用上面的代码,根本没有出现警告框。

应该调用第一个alert();是否反应是对象。

您可以使用.fail()向ajax请求添加错误处理,以警告textStatuserrorThrownjqxhr对象的属性。

请注意,问题中的js也未在})处关闭$.get()

$.get("http://api.lmiforall.org.uk/api/v1/ashe/estimatePay",
  { soc: soc, coarse: "false", filters:"region:12"},
  function(datani) {
    alert(datani);
}).fail(function(jqxhr, textStatus, errorThrown) {
    alert(textStatus + " " + errorThrown)
})