Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 成功侦听API调用_Javascript_Api_Https_Addeventlistener - Fatal编程技术网

Javascript 成功侦听API调用

Javascript 成功侦听API调用,javascript,api,https,addeventlistener,Javascript,Api,Https,Addeventlistener,我只想在API调用成功后运行一些JavaScript/DOM操作 我有以下代码。。。然而,它所做的只是检查API调用的响应 我需要做的是监听,以便成功地进行此API调用(如EventListener)。因为API不会在pageload上立即运行。它仅在用户提交表单后运行 所以我需要监听API调用,而不是在pageload上立即运行它 var testAPI = new XMLHttpRequest(); var testAPIurl='https://www.myapi.com/xxx'; te

我只想在API调用成功后运行一些JavaScript/DOM操作

我有以下代码。。。然而,它所做的只是检查API调用的响应

我需要做的是
监听
,以便成功地进行此API调用(如EventListener)。因为API不会在pageload上立即运行。它仅在用户提交表单后运行

所以我需要监听API调用,而不是在pageload上立即运行它

var testAPI = new XMLHttpRequest();
var testAPIurl='https://www.myapi.com/xxx';
testAPI.open("GET", testAPIurl);
testAPI.send();

testAPI.onreadystatechange = function() {
  if (this.readyState === 4 && this.status === 200) {
    console.log(JSON.parse(testAPI.responseText));

    var res = JSON.parse(testAPI.responseText);
    
    if (res.Status === "loggedIn") {
      console.log("USER LOGGED IN!");
      return true;
    }
  }
}
在vanilla JavaScript中实现这一点的最佳方法是什么


谢谢,

EventListeners在发生某些事情时调用函数,在您的情况下,您可以在testAPI.onreadystatechange返回true时调用函数,您不能改用它吗?是关于如何创建自己的自定义项的文档events@RicardoSanchez-嘿,不,这不行。如果页面已加载,则用户未登录。因此,上面的函数不是真的,(它是假的)。只有在他们登录后,才会进行API调用。所以我想听听正在进行的API调用。我明白了,我第二条评论中的链接有关于如何创建自己的API调用的说明,那么您所做的就是在需要时发送事件调用,希望这会有所帮助。@RicardoSanchez-谢谢,但是我将在什么上运行事件呢?是单击按钮,还是单击文档/窗口?