Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript在Hackerrank中发出AJAX请求?_Javascript_Node.js_Xmlhttprequest - Fatal编程技术网

如何使用JavaScript在Hackerrank中发出AJAX请求?

如何使用JavaScript在Hackerrank中发出AJAX请求?,javascript,node.js,xmlhttprequest,Javascript,Node.js,Xmlhttprequest,我打开Hackerrank示例测试,并尝试使用一些方法来进行AJAX调用XMLHttpReq,fetch,等等。它们都不起作用XHR和fetch方法不可用 第一次取数: async function myFetch() { let response = await fetch('https://jsonplaceholder.typicode.com/todos/1'); let data = await response.json(); console.log(data); }

我打开Hackerrank示例测试,并尝试使用一些方法来进行AJAX调用
XMLHttpReq
fetch
,等等。它们都不起作用
XHR
fetch
方法不可用

第一次
取数

async function myFetch() {
  let response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
  let data = await response.json();
  console.log(data);
}
Hackerrank抛出错误,因为
fetch
不是函数。我还尝试了
window.fetch
global.fetch
,但没有成功

我尝试了
XHR

function myXHR() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState === 4 && this.status === 200) {
      console.log(this.responseText);
      // or JSON.parse(this.responseText);
    }
  };
  xmlhttp.open('GET', 'https://jsonplaceholder.typicode.com/todos/1');
  xmlhttp.send();
}
Hackerrank表示未定义
XMLHttpRequest

Hackerrank正在执行Node.JS代码,这解释了为什么
XHR
不可用,我可能需要自己。除了我不能
npm安装
任何东西之外,我只能访问他们的小IDE


如何使用JavaScript在这个平台上进行AJAX调用?

我通过了HackerRank REST API认证,也遇到了同样的问题。HackerRank使用NodeJs环境来运行代码(在语言选择中有说明),因此XMLHttpRequest和fetch都不可用(因为它们只是浏览器)

我建议您使用,HackerRank允许您要求它。 一个缺点是请求不支持Promises&Async/Await,除非您导入其他包(HackerRank似乎无法识别)

以下是我使用的:

const request=require('request');
函数myFetch(url){
返回新承诺((解决、拒绝)=>{
请求(url、函数(错误、响应、正文){
如果(错误)拒绝(错误)
其他决议(正文)
});
});
}

注意:请求包最近已被弃用,但它仍然适用于您的用例。

您在哪个上下文中执行代码?这很有效!但是,有人能帮我用java编写代码时应该使用哪个库/包吗?