Загружая API с помощью jQuery и Ajax, его возвращающий объект Object не может понять, как заставить его отображать данные JSON в консоли или где-либо еще. - PullRequest
1 голос
/ 31 марта 2020

Я вызываю API со следующим кодом, и если все, что я получаю, это Object Object. Я пробовал несколько разных вещей, но не повезло. Я получаю jquery -3.4.1.min. js: 2 XHR завершил загрузку: ПОЛУЧИТЕ «url.to.api» в консоли. Вот мой код.

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="./jquery-3.4.1.min.js"></script>

<title></title>
</head>
<body>
<script>
$.ajax({
 type: "GET",
url: "to API", // note, this doesn't end in JSON, but if I type the URL into my browser, I can view the JSON data

// Request headers
beforeSend: function(xhrObj) {
    xhrObj.setRequestHeader("Cache-Control", "no-cache");
    xhrObj.setRequestHeader("Subscription-Key", my key");
    },
})
.done(function (data) {
alert(data); // I changed this from a 'success' pop up to tell me it was working, but I can't display the data anywhere, so I tried in the box, and got object object
})
   .fail(function () {
  alert("error");
});
     </script>
</body>
</html>

Я новичок в API, документации по этому вопросу нет вообще. Спасибо!

1 Ответ

1 голос
/ 31 марта 2020

URL-адреса API не обязательно должны заканчиваться на JSON. Если вы просматриваете ответ API через браузер и он действительно имеет синтаксис JSON, API, скорее всего, выведет результат в JSON.

. В этом случае запрос ajax будет автоматически анализирует ответ от вызова API на объект javascript, поэтому он покажет [object Object] при выполнении alert(data).

Чтобы распечатать содержимое объекта javascript как строка, вам просто нужно будет привести в соответствие объект, прежде чем отправлять предупреждения с использованием синтаксиса JSON.stringify() следующим образом:

alert(JSON.stringify(data)); // I changed this from a 'success' pop up to tell me it was working, but I can't display the data anywhere, so I tried in the box, and got object object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...