完成新手问题:
当我使用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)
使用完成事件来识别。
<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请求添加错误处理,以警告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)
})