@ Ответ Квентина правилен и справедлив для любого клиента javascript, пытающегося получить доступ к заголовку сервера.
Однако, поскольку этот вопрос специфичен для Cloudlfare и специфичен для получения стандарта ISO в двух буквах в заголовке HTTP_CF_IPCOUNTRY, я считаю, что у меня есть работа, которая лучше всего подходит для заданного вопроса.
Ниже приведен фрагмент кода, который я использую на моем веб-интерфейсе Ember App, сидя за Cloudflare ... и лак ... и FastBoot ...
function parseTrace(url){
let trace = [];
$.ajax(url,
{
success: function(response){
let lines = response.split('\n');
let keyValue;
lines.forEach(function(line){
keyValue = line.split('=');
trace[keyValue[0]] = decodeURIComponent(keyValue[1] || '');
if(keyValue[0] === 'loc' && trace['loc'] !== 'XX'){
alert(trace['loc']);
}
if(keyValue[0] === 'ip'){
alert(trace['ip']);
}
});
return trace;
},
error: function(){
return trace;
}
}
);
};
let cfTrace = parseTrace('/cdn-cgi/trace');
Спектакль действительно очень большой, дон» Не бойтесь вызывать эту функцию еще до вызова других API или функций. Я нашел его таким же быстрым, а иногда и быстрее, чем извлечение статических ресурсов из кэша Cloudflare. Вы можете запустить профиль в Pingdom, чтобы подтвердить это.
Какой javascript вы имеете в виду - клиент или сервер (узел)? – hindmost
Сторона клиента js. –