我希望用户提交一个URL作为表单输入(例如:“ http://api.open-notify.org/astros.json”),并从提交的URL中读取内容。
我不确定我当前的方法是否正确。我应该在下面的URL字段中输入什么?
var options = {
url: '....',
method: 'GET',
headers: {'Content-Type' : 'application/x-www-form-urlencoded' }
}
答案 0 :(得分:0)
似乎您已经加载了Express逻辑。 IMO,如果您已经表示快递已经在工作,请创建一个用户可以点击的发布路线:
app.post("/form",(req,res)=>{
//See the request body here.
console.log(req.body)
);
然后您将使用上面的URL进行AJAX呼叫。值得注意的是,您将需要在server.js文件上使用正文解析器。
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
该插件可让您更轻松地从客户端在服务器端进行解析。
答案 1 :(得分:0)
您可以执行以下操作(我想这就是您想要的):
我建议使用request-promise
软件包
const rp = require('request-promise');
// post router
app.post('/readUrl', async (req, res) => {
const uri = req.body.url // http://api.open-notify.org/astros.json
const options = {
uri,
headers: {
// maybe set some headers to accept other formats of response
},
// Automatically parses the JSON string in the response
json: true
};
const data = await rp(options);
// data is json
res.json(data);
})