gpt4 book ai didi

javascript - jquery ajax get 没有数据时显示错误信息

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:04 25 4
gpt4 key购买 nike

我开始学习 ajax。我有 API。 API返回两种类型的响应1.当我有数据时成功,当系统中没有数据时成功2. 服务器出错时报错(异常)。

在 API 文档中我有这样的内容

字段 - 成功类型 - bool 值响应状态 - 真/假

字段-数据类型 - 对象

在数据对象内部我还有其他字段。我想做的很简单。系统有数据时显示数据,无数据时显示错误信息。

根据文档,这是数据在系统中时的正确响应示例

{
"success": true,
"data": {
"office_id": 1,
"office_type": "s",
"registrar_name": null,
"registrar_mobile": null,
"registrar_email": null
}
}

当系统中没有数据时正确响应

{"success": true}

{
"success": true,
"err": "error message"
}

这就是我此刻得到的。当它在系统中找到 mydata 时,它会正确显示字段。但是当系统中没有数据时,我就不确定了。这段代码有什么问题?

$('#test').on('click', function(){
$.ajax({
dataType: 'json',
type:"GET",
url:"http://mywebsite.com/api/mydata",
success: function(response, data) {
console.log(data.data);
},
err: function(response, data) {
console.log("no data");
}
});
});

最佳答案

首先根据 the documentation 将您的成功函数更改为只有一个参数第二个参数(在本例中名为 data)将是 textStatus

然后您可以检查响应的属性以了解您是否有数据或响应是否有错误

success: function (response) {
if (response.err != undefined) {
console.log("Error");
}

if (response.data != undefined) {
console.log("There is data");
} else {
console.log("No data")
}
}

请注意,在您的示例数据中,有错误的响应仍然有 success:true,这对我来说似乎有点愚蠢,因为如果有错误,它不应该成功。

关于javascript - jquery ajax get 没有数据时显示错误信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47812668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com