Javascript 使用服务器端代码从客户端提供的不可靠API获取JSON输出,并以适当的格式呈现页面上的数据
所以我遇到了这种情况,有人能建议如何处理它吗 使用服务器端代码从不可靠的API获取JSON输出 由客户端提供,并以适当的方式呈现页面上的数据 格式 给定的API URL返回表示 一组网站在谷歌排名中30年的表现 天 客户端的API URL为: 但是,客户端不希望API端点暴露在 公共互联网。API也很慢而且非常不可靠,因此您无法 只需直接使用JavaScript获取API数据。你需要使用 某种服务器端代码,用于首先获取页面的API数据。 API非常慢,有时会与503一起失败 HTTP状态和空正文,因此您的代码应该实现一些 缓存或数据库的类型以及重试失败请求的逻辑。对于 此测试返回的实际数据永远不会更改,但出于以下目的 对于缓存失效,您可以假定数据通常会更改 每24小时一次 您可以使用相同的后端输出页面/前端代码 脚本,直接将API的输出包含在源代码中,或者 打印/代理JSON并在单独的前端使用AJAX获取数据 结束代码-你觉得最舒服的事情 我试图用php获取数据,所以原始API隐藏起来,然后使用angularjs获取数据 这将是我获取数据的phpJavascript 使用服务器端代码从客户端提供的不可靠API获取JSON输出,并以适当的格式呈现页面上的数据,javascript,php,json,ajax,api,Javascript,Php,Json,Ajax,Api,所以我遇到了这种情况,有人能建议如何处理它吗 使用服务器端代码从不可靠的API获取JSON输出 由客户端提供,并以适当的方式呈现页面上的数据 格式 给定的API URL返回表示 一组网站在谷歌排名中30年的表现 天 客户端的API URL为: 但是,客户端不希望API端点暴露在 公共互联网。API也很慢而且非常不可靠,因此您无法 只需直接使用JavaScript获取API数据。你需要使用 某种服务器端代码,用于首先获取页面的API数据。 API非常慢,有时会与503一起失败 HTTP状态和空正
<!DOCTYPE html>
<html>
<body>
<?php
$homepage = file_get_contents('https://tools.ayima.com/techtest/api/marketintel');
echo htmlentities($homepage)
?>
</body>
</html>
这将是angularjs的一部分
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
<li ng-repeat="x in ayima">
<p>{{ x.domain }}</p>
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://94.136.40.103/~boyisbadnews.com/test/marketintel.php")
.success(function (response) {$scope.ayima = response.marketIntel;})
.error(function(data, status, headers, config) {
// something went wrong
});
});
</script>
</body>
</html>
-
{x.domain}
var-app=angular.module('myApp',[]);
app.controller('customersCtrl',函数($scope,$http){
$http.get(“http://94.136.40.103/~boyisbadnews.com/test/marketintel.php)
.success(函数(响应){$scope.ayima=response.marketIntel;})
.error(函数(数据、状态、标题、配置){
//出了点问题
});
});
但是无法使其工作。获取服务器数据的php文件(marketintel.php)必须是:
PHP文件:
<?php
header("Content-Type: application/json");
header("Cache-Control: no-cache");
$homepage = file_get_contents('https://tools.ayima.com/techtest/api/marketintel');
echo $homepage;
?>
HTML文件:
我看到您的标记中有一些小错误。这里有一个合适的html
页面标题
-
{x.domain}
var-app=angular.module('myApp',[]);
app.controller('customersCtrl',函数($scope,$http){
$http.get(“http://dfjb.webcindario.com/dataAyima.php)成功(功能(响应){
$scope.ayima=response.marketIntel;
})
.error(函数(数据、状态、标题、配置){
//出了点问题
});
});
那么您想让我们为给定的规范编写代码??或者你想尝试什么吗?我想做的是使用php获取数据,这样原始API就不会公开,那么你在哪里失败了??你有什么错误吗??你需要分享你的代码!然后使用angularjs使用它,但不起作用。是我自己,还是问题的语言听起来像是编程竞赛中的规范?不确定为什么我得不到与您相同的结果我的php文件是:echo$homepage;return$主页不工作。我可以看到Danny的代码正在运行,但我从服务器收到错误消息。但是html文件也没有得到任何结果。嗯,您的php文件的头()前面似乎有字符;语法。您如何整理503 HTTP状态的日期和消息