Javascript 如何将全局变量存储在一个ajax文件中并从另一个ajax文件中获取?

Javascript 如何将全局变量存储在一个ajax文件中并从另一个ajax文件中获取?,javascript,ajax,Javascript,Ajax,假设我有2个ajax文件。。first.js和second.js 如果我像这样在second.js中写一个全局变量- $(document).ready(function(){ var globalData = null; $.ajax(){ url: //statement, type: //statement, data: //statement, success: { success: fu

假设我有2个ajax文件。。first.js和second.js

如果我像这样在second.js中写一个全局变量-

$(document).ready(function(){
   var globalData = null;
$.ajax(){
     url: //statement,
     type: //statement,
     data: //statement,
    success:  {
                  
        success: function(response){

           // Show response
          
           if(condition) // this condition is not a variable  but a 'if condition'
           {
              globalData=1;
              
           }else{
              globalData=0;
           }
               }
}

现在,如何在first.js中获取globalData变量?

如果希望变量是全局变量,请删除
var
关键字。请注意,它只在中起作用,通常是一种不好的做法。更喜欢链接异步操作,而不是在它们之间共享变量

实际上,通过编写这种代码,您永远不会知道是否设置了变量

在这方面非常有用,除此之外还有一种选择:

下面是一个简单的示例,说明如何使用全局数据库来确保数据在需要时存在:

// first.js 
const first = fetch(firstUrl, { method: ..., body: ... }).then(x => {
  // Some logic
  return globalData;
});

// second.js
const second = first.then(globalData => fetch(secondUrl, { method: ..., body: ... }));

在本例中,我保留了
globalData
名称,以显示它与您的代码是如何等效的,但它不再准确,应该更改以提高清晰度。

您能告诉我们您需要什么吗?而不是如何实施解决方案?为什么需要共享这些变量?也许我们可以找到更好的解决方案。
globalData
并不像你想象的那样全球化。@HassenCh。在我的second.js中,我用它来验证用户名是否可用,然后在提交表单可用的first.js中,我想用这个全局变量来检查用户名是否可用,如果不可用,则禁用表单提交按钮。否则让用户提交。这就是问题所在logic@Andy你能告诉我怎么解决吗?@jerry你用错了方法。您应该将“username”参数传递给一个函数,该函数将检查它是否可用。然后使用该输出来确定是否应该让用户提交表单。使用“全局”变量是完全错误的。您能展示一个关于如何获取全局变量的小代码示例吗?我的建议就是不要使用全局变量,但如果您想这样做,只需删除
var
传统方法是使用对象名称空间。