2016-04-02 2 views
1

Полный новичку вопрос:Как обнаружить ответ, который не имеет объект

Когда я запрос к базе данных с помощью 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"); 

} 
+0

Вы получаете сообщение «" или пустое? –

+0

_ «Иногда я получаю ответ, который не содержит объекта« _, _ »Мне нужен метод для обнаружения этого пустого ответа» _ Что вы подразумеваете под «пустым»? Является первым вызовом 'alert()'? – guest271314

+0

Приведенный выше код не появляется. – Bizzy

ответ

0

использование сделано мероприятие для идентификации.

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

Звучит так, как будто вы путаете никакого ответа как пустой object.

Что-то вроде:

var myObj = {}; 

будет считаться пустой объект, который isEmptyObject() возвратит верно для но пустая строка (без ответа) не

Попробуйте изменить:

if(jQuery.isEmptyObject(datani)) { 

До

if(!datani) { 
+0

Спасибо - попробовал это - все еще нет окна оповещения – Bizzy

+0

Вам нужно отладить фактический запрос и убедиться, что он даже преуспел. Осмотрите его в браузере dev tools network – charlietfl

0

Приведенный выше код предупреждения не появляется.

Следует называть первый alert(); является ли ответ объектом или нет.

Вы можете добавить обработку Аякса запроса с использованием .fail() для предупреждения textStatus, errorThrown или свойства объекта jqxhr ошибки.

Примечание. Также 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) 
}) 
+0

@Bizzy Является ли '' грубым ''правильно написано? Определяется ли 'soc'? Что такое 'soc'? Вызывается 'alert()' в '.fail()', используя 'js' в post? – guest271314

+0

Спасибо, что ответили. Все имена переменных верны. Этот код работает правильно, когда API возвращает некоторые данные, и мое приложение работает нормально. Но иногда мой запрос запрашивает несуществующие данные, а затем возникает эта проблема. – Bizzy

+0

_ «Но иногда мой запрос запрашивает несуществующие данные, а затем возникает эта проблема». _ Что вы подразумеваете под «этой проблемой»? 'alert()' следует вызывать, является ли ответ объектом или нет; успешно или возвращает ошибку – guest271314

Смежные вопросы