通过REST API获取报告数据以HTML格式显示为数据表

时间:2017-06-22 08:00:51

标签: javascript jquery json rest api

我对REST API和Javascript知之甚少。但是,我现在需要处理第三方公司的REST API,该公司正在为我公司发送电子邮件并通过REST API获取报告数据。

数据可以通过带有TOKEN的网址获取GET方法:https://www.probancemail.com/rest/stats/?&token= {platformtoken}

JSON数组示例如下:

{
"bounce":2,
"campaign_external_id":"RT1-",
"campaign_name":"RT1-Welcome1",
"click":19,
"delivered":333,
"open":69,
"sending_external_id":"RT-PWDE1-20170617",
"sendingtime_ts":1497650423000,
"sent":335,
"spam":0,
"template_external_id":"0193",
"unsub":6
}

作为第一步,我需要的是基于带有令牌的URL从第三方检索JSON数据,并通过Jquery解析JSON数据并将其作为表(HTML)显示在网页上。 为此,我在下面找到了Jquery代码:

<!DOCTYPE html>
<html>
<head>
<script>
var url = 'https://www.probancemail.com/rest/stats/?&token={platformtoken}'

$(document).ready(function () {
$.getJSON(url,
function (json) {
var tr=[];
for (var i = 0; i < json.length; i++) {
    tr.push('<tr>');
    tr.push("<td>" + json[i].campaign_name + "</td>");
    tr.push("<td>" + json[i].campaign_external_id + "</td>");
    tr.push("<td>" + json[i].sending_external_id + "</td>");
    tr.push("<td>" + json[i].sent + "</td>");
    tr.push("<td>" + json[i].delivered + "</td>");
    tr.push("<td>" + json[i].open + "</td>");
    tr.push("<td>" + json[i].click + "</td>");
    tr.push("<td>" + json[i].spam + "</td>");
    tr.push("<td>" + json[i].unsub + "</td>");
    tr.push('</tr>');
}
$('table').append($(tr.join('')));
});
</script>
</head>
<body>

<table></table>

</body>
</html>

但是,这段代码不起作用,我认为是因为令牌,GetJSON函数没有得到JSON。但是,我对此非常陌生,所以我没有任何见解。

请您看看并帮我解决问题? 欢迎任何建议! &GT;&GT;也许我不应该使用Jquery?

提前致谢!

3 个答案:

答案 0 :(得分:0)

我无法访问该网址,我被拒绝访问,所以我尝试使用不同的网址,它的工作原理就是这样..

您可以检查您的网络服务是否返回任何内容,或者是否存在可能发生的任何CORS问题

$(document).ready(function () {
var url = "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true"

$.getJSON(url,
function (json) {

var tr = $("<tr></tr>")
for (var i = 0; i < json.results.length; i++) {

var td = "<td>" + json.results[i].address_components[0].long_name+"</td>"
$(tr).append(td);
}

$('table').append($(tr));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<table></table>

答案 1 :(得分:0)

你可以测试这样的代码:

circle.setMap(null);

或者您可以通过api自己编写代码来测试代码,这就是您现在可以做的。

答案 2 :(得分:0)

按照“No'Access-Control-Allow-Origin'错误

进行操作

{{3}}