【发布时间】:2017-05-14 05:47:23
【问题描述】:
我试图从这个 api 获取 json 数据,但我得到的只是页面的 html,如果我在浏览器中打开这个链接,我通常会得到这个页面
访问api的基本urlhttp://sc.productrx.com/public/
操作: 获取调查表
HTTP 动词: GET
Rest Resource: 架构
描述参数等: 获取架构表名(“调查”)
这是我迄今为止尝试过的
app.get('/',function(req,res){
console.log(req.method+" request received at "+req.url);
request({
url:"https://sc.productrx.com/public/",
method:"GET",
qs:{resource:"schema",data_type:"JSON"}
},function(err,response,body){
if(err){
console.log(err);
res.status(300).json(error.apiError);
}
else{
console.log(body);
//var body=JSON.parse(body);
//res.status(200).json({"success":true,"body":body.users});
}
}); });
这是控制台日志
$ heroku local
[WARN] No ENV file found
11:01:03 AM web.1 | Your server is now running...
11:01:03 AM web.1 | 5000
11:01:07 AM web.1 | GET request received at /
11:01:09 AM web.1 | <!DOCTYPE html>
11:01:09 AM web.1 | <html>
11:01:09 AM web.1 | <head>
11:01:09 AM web.1 | <meta charset="utf-8"/>
11:01:09 AM web.1 | <title>Slim 3</title>
11:01:09 AM web.1 | <link href='//fonts.googleapis.com/css?family=Lato:300' rel='stylesheet' type='text/css'>
11:01:09 AM web.1 | <style>
11:01:09 AM web.1 | body {
11:01:09 AM web.1 | margin: 50px 0 0 0;
11:01:09 AM web.1 | padding: 0;
11:01:09 AM web.1 | width: 100%;
11:01:09 AM web.1 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
11:01:09 AM web.1 | text-align: center;
11:01:09 AM web.1 | color: #aaa;
11:01:09 AM web.1 | font-size: 18px;
11:01:09 AM web.1 | }
11:01:09 AM web.1 | h1 {
11:01:09 AM web.1 | color: #719e40;
11:01:09 AM web.1 | letter-spacing: -3px;
11:01:09 AM web.1 | font-family: 'Lato', sans-serif;
11:01:09 AM web.1 | font-size: 100px;
11:01:09 AM web.1 | font-weight: 200;
11:01:09 AM web.1 | margin-bottom: 0;
11:01:09 AM web.1 | }
11:01:09 AM web.1 | </style>
11:01:09 AM web.1 | </head>
11:01:09 AM web.1 | <body>
11:01:09 AM web.1 | <h1>Slim</h1>
11:01:09 AM web.1 | <div>a microframework for PHP</div>
11:01:09 AM web.1 | <p>Try <a href="http://www.slimframework.com">SlimFramework</a>
11:01:09 AM web.1 | </body>
11:01:09 AM web.1 | </html>
已解决:我正在访问 api 的基地址,我打电话给他们,他们告诉我访问它的正确方法。 http://sc.productrx.com/public/schema/survey
【问题讨论】:
-
有了问题中的其他详细信息,我在以下 API
http://sc.productrx.com/public/schema/survey上尝试了 GET 请求,它返回一个 JSON 数组。您正在尝试访问 API 基础,这就是您获得http://sc.productrx.com/public/的 HTML 页面的原因 -
是的,第一次使用rest api。经过一番折腾,我发现了这一点。谢谢。