首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Vercel中制作XMLHttpRequest

在Vercel中制作XMLHttpRequest
EN

Stack Overflow用户
提问于 2020-08-30 10:10:40
回答 1查看 92关注 0票数 0

我正在尝试使用Vercel来查询其他API。我能够让Vercel服务器接收查询并返回适当的值。我也能够毫不费力地从另一个js文件制作XMLHttpRequest。当我尝试将XMLHTTPRequest插入到我的Vercel服务器中时,问题出现了。

代码语言:javascript
复制
module.exports = (req, res) => {
  const { name = "World" } = req.query;
  var newReq = new XMLHttpRequest();
  newReq.open("GET", url);
  newReq.setRequestHeader("Authorization", authKey);
  newReq.send();
  newReq.addEventListener("load", function () {
    if (newReq.status == 200 && newReq.readyState == 4) {
      var response = JSON.parse(newReq.responseText);
      result = `
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
  <text x="0" y="15" fill="red">${response}</text>
</svg>`;
      res.writeHead(200, { "Content-Type": "image/svg+xml" });
      res.write(result);
      res.end();
    }
  });
};

现在,每当我尝试访问服务器时,都会收到502错误的网关错误。我认为错误是因为在当前的Vercel服务器中发出了另一个HTTP请求。我不确定如何实现这一点。

任何建议都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2020-08-30 22:51:11

使用http和node-fetch解决。以防其他人在将来遇到类似的问题。

代码语言:javascript
复制
const http = require("http");
const url = require("url");
const fetch = require("node-fetch");

http
  .createServer(async (req, res) => {
    const reqURL = url.parse(req.url, true);
    const { userID } = reqURL.query;

    var headers = { Authorization: "..." };

    const newResponse = await fetch(
      `newURL`,
      { method: "GET", headers: headers }
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63653348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档