【发布时间】:2017-05-05 17:13:37
【问题描述】:
向https://api.iflychat.com/users/list/demo/c-g 发出 HTTP GET 请求
以上 URL 以 JSON 格式返回网站上的在线用户列表。结果数组中的每个条目都有以下属性(最后一个除外):
• u – 用户 ID
• n – 用户名
• s – 用户的状态
• p – 用户的个人资料 URL
结果数组的最后一个元素表示列表中的用户总数。
我想在我的网络应用程序中呈现这个列表并每分钟更新一次数据。
var $Form = $('form'), $Container = $('#container');
$Container.hide();
$Form.on('submit', function(p_oEvent){
var sUrl, oData;
p_oEvent.preventDefault();
sUrl = 'https://api.iflychat.com/users/list/demo/c-g'
$.ajax(sUrl, {
complete: function(p_oXHR, p_sStatus){
oData = $.parseJSON(p_oXHR.responseText);
console.log(oData);
alert(oData);
$Container.find('.userId').text(oData.u);
$Container.find('.name').text(oData.n);
$Container.find('.image').html('<img src="' + oData.p + '"/>');
$Container.find('.status').text(oData.s);
$Container.show();
}
});
});
这是我当前的 JavaScript 代码。HTML 页面上有一个提交按钮。我是通过 REST API 解析 json 的新手,请帮助我将列表解析为对象数组。并且该列表应每 1 分钟更新一次。
【问题讨论】:
-
您有问题吗?
-
@Quentin 对不起!请再次查看问题。
-
无需手动解析。只需将响应正文放入 JSON.parse() 即可。详情见这里:developer.mozilla.org/de/docs/Web/JavaScript/Reference/…
-
您需要提供minimal reproducible example 和正确的问题描述。假设 JSON 由一组对象组成,那么
oData = $.parseJSON(p_oXHR.responseText);已经可以满足您的要求。如果不是,那么您需要向我们展示一个将p_oXHR.responseText替换为硬编码样本值的测试用例,告诉我们您解析后oData的值是什么,并告诉我们您的预期它是。 -
@Tobi — 他们已经在使用
$.parseJSON,这是一个包装器(具有真正过时浏览器的兼容层)。
标签: javascript json ajax http-get