Я устанавливаю ajax-клиент с фиктивным сервером (только для тестирования).Кажется, мне удалось решить проблему cors, но ответ, как видно из ajax-клиента, не определен.Когда я получаю тот же URL-адрес, используя только мысль браузера, он правильно отображает объект.
// server-side
var express = require('express');
var router = express.Router();
var cors = require('cors');
router.use(cors());
var data = [
{"id": 1, "message": 'first object'},
{"id": 2, "message": 'second object'},
{"id": 3, "message": 'third object'}
];
router.get('/', (req, res, next) => {
console.log("building response body");
res.json(data);
});
// client-side
function fetcher() {
console.log("fetch from:" + rootUrl + arrayEndpoint);
fetch(rootUrl + arrayEndpoint, {
mode: "cors",
method: "GET",
headers: {
"Content-Type": "application/json"
}
})
.then((response) => {
console.log(response);
console.log("response: " + response.body);
})
.catch((error) => {
console.log("error: " + error);
});
}
Ответ, напечатанный на консоли клиента:
Response { type: "cors", url: "https://angry-badger-63.localtunnel.me/getArray/", redirected: false, status: 200, ok: true, statusText: "OK", headers: Headers, bodyUsed: false }
undefined
И наbrowser:
[{"id":1,"message":"first object"},{"id":2,"message":"second object"},{"id":3,"message":"third object"}]
Так что я почти уверен, что моя серверная сторона в порядке (она отправляет то, что я ожидаю, в браузер и насколько сложным может быть resp.json (объект)?), но, очевидно,Что-то о клиенте AJAX я не вижу.Что с ним не так?