处理AJAX GET JSON请求中缺少的属性/键

y2knoproblem

有时,从AJAX请求调用的JSON对象会丢失我要在表中显示的值的键/属性。问题是缺少键时,它将导致在控制台中记录“ TypeError:无法读取未定义的属性'名称'”,并破坏了我的代码。我尝试使用|| 声明,但这没有用。请参见下面的代码段:

function getNextObject() {
  $.ajax({
    url: "http://scrapi.org/object/" + randomNum,
    success: function(data) {
      var timeline = data.timelineList[0].name || "not available";
      var medium = data.medium;
      var culture = data.culture;
      var geo = data.geography;
      var date = data.dateText;
      var gallery = data.galleryLink;
      var title = data.title;
      var artist = data.primaryArtist.name || "not available";
      var image = data.currentImage.imageUrl;

JSON对象中并不总是包含PrimaryArtist和timelineList,从而引发错误并导致代码中断。我该如何克服呢?

法比奥

问题是您的代码试图获取.name这些变量的,而变量本身可能为空。

你可以建立一个if围绕着变数timelineListprimaryArtist

您如何尝试这些替代品:

var timeline = data.timelineList ? data.timelineList[0].name : "not available";
...
var artist = data.primaryArtist ? data.primaryArtist.name : "not available";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

处理Ajax请求中的延迟

来自分类Dev

处理拒绝的ajax请求?

来自分类Dev

AJAX中的Django GET请求

来自分类Dev

处理来自 AJAX 请求的 null 属性

来自分类Dev

Ajax / JSON请求到php处理页面

来自分类Dev

在Python中可能缺少键时处理JSON数据

来自分类Dev

以与Ajax请求相同的顺序处理Ajax响应

来自分类Dev

Spring MVC处理AJAX请求

来自分类Dev

处理Ajax请求反馈

来自分类Dev

WordPress不会处理AJAX请求

来自分类Dev

JSF Ajax请求中的异常处理

来自分类Dev

Ajax请求中的angularjs错误处理

来自分类Dev

修改django中的视图以处理ajax请求

来自分类Dev

在Angular JS中处理Ajax请求

来自分类Dev

在PHP中异步处理多个GET请求

来自分类Dev

AJAX http GET请求

来自分类Dev

Ajax GET请求混乱

来自分类Dev

在彼此的get属性中处理多个值

来自分类Dev

在jquery ajax中处理json响应

来自分类Dev

在AJAX自动完成中处理JSON

来自分类Dev

ajax GET json数据

来自分类Dev

ajax GET json数据

来自分类Dev

Dropwizard / Jersey在GET请求中给出了“无法处理JSON”消息

来自分类Dev

Dropwizard / Jersey在GET请求中给出了“无法处理JSON”消息

来自分类Dev

如何通过Ajax API处理多个请求?

来自分类Dev

Jasmine 2.0如何处理Ajax请求

来自分类Dev

处理AJAX请求上的SAML重定向

来自分类Dev

Javascript,jQuery同时处理多个AJAX请求

来自分类Dev

使用AJAX请求处理空白选项值