Я пытаюсь получить заголовок ответа x-total-count
из запроса JS на выборку, я включил Access-Control-Expose-Headers
, как было рекомендовано в других предыдущих сообщениях, и я все еще не могу получить заголовок ответа, я вижу, что он получен в инструментах разработчика Chrome, и пытался response.headers.get('x-total-count');
и повторение response.headers
безуспешно.
Что мне здесь не хватает?
async function postData() {
const myPost = {
"listingType":"Sale",
"propertyTypes": [
"townhouse",
"duplex",
"semiDetached",
"studio",
"townhouse",
"villa",
"ApartmentUnitFlat",
"Rural",
"house"
],
"geoWindow": {
"box": {
"topLeft": {
"lat": aNorth,
"lon": aWest
},
"bottomRight": {
"lat": aSouth,
"lon": aEast
}
},
},
"pageNumber": pageNumber,
"pageSize": 100
}
const options = {
method: 'POST',
body: JSON.stringify(myPost),
headers: {
'Content-Type': 'application/json',
"X-API-Key": "API-KEY",
'Access-Control-Expose-Headers': 'x-total-count'
}
};
const response = await fetch('https://api.domain.com.au/v1/listings/residential/_search', options)
if (!response.ok) {
const message = `An error has occured: ${response.status}`;
throw new Error(message);
}
const totalCount = response.headers.get('x-total-count');
for (var pair of response.headers.entries()) { console.info(pair[0]+ ': '+ pair[1]); }
console.info(totalCount)
В качестве обновления я связался с командой, которая запускает этот API, и получил следующий ответ ниже, оказывается, это была проблема с их стороны.
Похоже, вы столкнулись с проблемой нашей ранней поддержки для Запросы CORS, заголовок, который вы пытаетесь установить, Access-Control-Expose-Headers, на самом деле тот, который мы указываем из Наша сторона.
В настоящее время мы не указываем его полностью, поэтому заголовок x-total-count не отображается в браузерах, которые следуют правилам CORS.
Я добавил эту проблему в наш список невыполненных работ, чтобы исправить ее, как только возможно, и, скорее всего, это будет частью нашего первого запланированного обновление в начале января 2021 года.