【问题标题】:XmlHttpRequest not working, saying module not definedXmlHttpRequest 不工作,说模块未定义
【发布时间】:2020-06-06 08:18:06
【问题描述】:

我有一个使用 AWS Cognito 进行身份验证的应用程序,我已经创建了

  • HTML 登录页面
  • 在同一页面上,我获得了所有临时凭据
  • 使用这些凭证我正在尝试创建一个指向 AWS 管理控制台的 URL,但我遇到了一些问题

    var signin_url = "https://signin.aws.amazon.com/federation";
    
    var sessionTokenJSON = {
                    sessionId : 'someValue',
                    sessionKey : 'someValue',
                    sessionToken : 'someValue'
                };
    
    
     var sessionTokenString = JSON.stringify(sessionTokenJSON);
                var encodedSessionToken = encodeURIComponent(sessionTokenString);
    
       var signInURL = signin_url+"?Action=getSigninToken&Session="+encodedSessionToken;
    console.log(signInURL);
    

直到这里它工作正常。接下来是我必须通过从上面的 URL 发出 Get Request 来获取 SignInToken,谁的响应将是这样的

 {
   "SigninToken":"VsPfcblaC....."
    }

我无法拨打此电话,我正在尝试的是

      var xmlHttp = new XMLHttpRequest();
                xmlHttp.open( "GET", signInURL, false );
                xmlHttp.send( null );
                var result =  xmlHttp.responseText;
                result = JSON.parse(result);

它说 XMLHttpRequest 模块未定义,我看过很多文章,但它对我不起作用,谁能建议如何进一步进行,我没有在服务器上运行任何东西,我已经在 S3 Bucket 上托管了这个应用程序。

【问题讨论】:

  • 需要安装node JS服务器吗?
  • 我只在浏览器中运行,不涉及节点 JS 环境,我有节点 JS 脚本也可以正常工作,但是我在纯 JS 中获得凭据,并且节点中的 URL 生成器变得难以集成两个脚本

标签: javascript node.js amazon-web-services amazon-cognito


【解决方案1】:

在我看来,您正在服务器上运行请求。默认情况下,XMLHttpRequest 在 Node 中不可用,但在浏览器中是可用的。

你可以试试:

  1. 使用 Node 内置库:https://nodejs.org/api/http.html

  1. 或者:将其添加到服务器
npm install xmlhttprequest
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

  1. 或者:安装第三方工具,如 RxJS 或 Axios

【讨论】:

  • 服务器不涉及,节点js也不涉及
猜你喜欢
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 2014-07-27
  • 1970-01-01
相关资源
最近更新 更多