JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。从外部URL加载JSON数据是现代Web开发中常见的操作,通常用于获取API数据或远程配置信息。
fetch('https://example.com/api/data.json')
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
console.log(data); // 处理获取到的JSON数据
})
.catch(error => {
console.error('There was a problem with the fetch operation:', error);
});
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/api/data.json', true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
const data = JSON.parse(xhr.responseText);
console.log(data); // 处理获取到的JSON数据
} else {
console.error('Request failed with status:', xhr.status);
}
};
xhr.onerror = function() {
console.error('Request failed');
};
xhr.send();
$.getJSON('https://example.com/api/data.json', function(data) {
console.log(data); // 处理获取到的JSON数据
})
.fail(function(jqxhr, textStatus, error) {
console.error('Request failed: ' + textStatus + ', ' + error);
});
如果遇到跨域问题(CORS),可以:
问题1:跨域请求被阻止
问题2:JSON解析失败
问题3:请求超时
// Fetch API设置超时示例
const fetchWithTimeout = (url, options = {}, timeout = 5000) => {
return Promise.race([
fetch(url, options),
new Promise((_, reject) =>
setTimeout(() => reject(new Error('Request timeout')), timeout)
)
]);
};
通过以上方法,您可以安全有效地从外部URL加载JSON数据并在应用程序中使用。
没有搜到相关的文章