首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ajax服务器端调用中处理空响应:.done(函数(数据){..}从未激活)

问如何在Ajax服务器端调用中处理空响应:.done(函数(数据){..}从未激活)
EN

Stack Overflow用户
提问于 2018-03-20 17:01:08
回答 1查看 14关注 0票数 0

假设我从jQuery执行Ajax服务器端调用。

代码语言:javascript
复制
    $.ajax({
        url: "/myapp/fetchUser?username=" + username, 
        type : "get",
        dataType : "json",
        data : ''
    }).done(function(data) {
        console.log(data);
    });
}  

服务器端,在Java中,fetchUser映射从可能存在或为NULL的DB中获取JSON序列化的UserT对象。如果存在该对象,则成功地进入.done(function(data) {..}。但是,如果返回的对象为NULL,则我不放在.done(function(data) ..)中的JS代码中。

如何在jQuery中处理空响应?水流现在就停止了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-20 17:04:24

dataType : "json",说请求必须返回有效的json,即使它只是{}。要么将端点更改为始终返回有效的json,要么将该选项从ajax请求中删除,如果存在,则解析响应。

done不会发生,因为jQuery试图解析null,得到一个错误,然后转到错误回调。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49390132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档