为什么我的 json 数据没有使用 JsonView 显示?
Why isn't my json data displaying with JsonView?
我正在尝试使用 JSONView 显示此代码,但在从 api 回调函数内部调用数据时不会显示,但在回调函数外部会显示非 api 数据.
// Call FreeGeoIP API to get browser IP address
$.getJSON('https://freegeoip.net/json/', function(data) {
var ipaddress = data.ip;
// Get browser language
var language = window.navigator.language;
// Get software
var software = window.navigator.appVersion;
var regExp = /\(([^)]+)\)/;
software = regExp.exec(software)[1];
// Add data to obj
var obj = {
'ipaddress': ipaddress,
'language': language,
'software': software
};
// Write obj to document
$('body').html(JSON.stringify(obj));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
JSONView 或任何其他 json 格式化程序会根据加载的 document
的 contentType
(在 http [=23= 上设置)检测您是否正在查看 json ]).
由于您必须 运行 此代码在 client side
(浏览器)上 contentType
设置为 text/html
。
为了使插件正确格式化 json,它必须知道您正在查看的确实是 json,并且它通过读取 contentType
header.
这就是为什么通过此脚本获取 json 将 json 显示为 body 属性中的文本但未被插件拾取的原因。
JSONView 扩展程序或 Chrome 浏览器中的任何其他扩展程序如果从您的本地系统访问文件,则需要访问文件 URL 的权限。
允许:-
- 访问
chrome://extensions/
- 单击扩展卡的
Details
按钮
Switch ON
Allow access to file URLs
我正在尝试使用 JSONView 显示此代码,但在从 api 回调函数内部调用数据时不会显示,但在回调函数外部会显示非 api 数据.
// Call FreeGeoIP API to get browser IP address
$.getJSON('https://freegeoip.net/json/', function(data) {
var ipaddress = data.ip;
// Get browser language
var language = window.navigator.language;
// Get software
var software = window.navigator.appVersion;
var regExp = /\(([^)]+)\)/;
software = regExp.exec(software)[1];
// Add data to obj
var obj = {
'ipaddress': ipaddress,
'language': language,
'software': software
};
// Write obj to document
$('body').html(JSON.stringify(obj));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
JSONView 或任何其他 json 格式化程序会根据加载的 document
的 contentType
(在 http [=23= 上设置)检测您是否正在查看 json ]).
由于您必须 运行 此代码在 client side
(浏览器)上 contentType
设置为 text/html
。
为了使插件正确格式化 json,它必须知道您正在查看的确实是 json,并且它通过读取 contentType
header.
这就是为什么通过此脚本获取 json 将 json 显示为 body 属性中的文本但未被插件拾取的原因。
JSONView 扩展程序或 Chrome 浏览器中的任何其他扩展程序如果从您的本地系统访问文件,则需要访问文件 URL 的权限。 允许:-
- 访问
chrome://extensions/
- 单击扩展卡的
Details
按钮 Switch ON
Allow access to file URLs