[英]Get report data to display as data table in HTML through REST API
我对REST API和Java的知识很少。 但是,我现在需要使用第三方公司的REST API,该公司正在为我的公司发送电子邮件,并通过REST API获取报告数据。
数据可以通过带有令牌的URL的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。 但是,我对此很陌生,所以我没有任何见解。
您能否看一下并帮助我解决问题? 任何建议都欢迎! >>也许我什至不应该使用Jquery?
提前致谢!
我无法访问该网址,但拒绝访问,因此我尝试使用其他网址,它的工作方式如下:
您可以检查您的网络服务是否返回任何东西,或者是否可能发生任何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>
您可以像这样测试代码:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var data=[{
"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
},{
"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
}];
var tr=[];
for (var i = 0; i < data.length; i++) {
tr.push('<tr>');
tr.push("<td>" + data[i].campaign_name + "</td>");
tr.push("<td>" + data[i].campaign_external_id + "</td>");
tr.push("<td>" + data[i].sending_external_id + "</td>");
tr.push("<td>" + data[i].sent + "</td>");
tr.push("<td>" + data[i].delivered + "</td>");
tr.push("<td>" + data[i].open + "</td>");
tr.push("<td>" + data[i].click + "</td>");
tr.push("<td>" + data[i].spam + "</td>");
tr.push("<td>" + data[i].unsub + "</td>");
tr.push('</tr>');
}
$('table').append($(tr.join('')));
})
</script>
</head>
<body>
<table></table>
</body>
</html>
或者您也可以通过自己编写的api来测试您的代码,这就是您现在可以执行的操作。
请遵循此以解决“无'Access-Control-Allow-Origin'错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.