Javascript从外部JS文件调用同步函数

Javascript从外部JS文件调用同步函数,javascript,ajax,xmlhttprequest,Javascript,Ajax,Xmlhttprequest,我在.js文件中有一个函数,它获取本地存储中存储的信息,并使用同步ajax调用将它们同步回服务器。(集成顺序至关重要,因此需要同步) ,xmlHTTPRequest状态返回0,并且不执行同步。什么可能会阻止xmlHTTPRequest获得200的响应,因为在syncUp()之前运行的唯一代码是几行javascript,这应该在站点进入syncUp()之前执行?状态代码为零有两个原因 从文件协议进行调用 请求发出时,页面正在刷新/导航 在你的情况下,我认为是2。如果使用按钮或链接进行Ajax调用,

我在.js文件中有一个函数,它获取本地存储中存储的信息,并使用同步ajax调用将它们同步回服务器。(集成顺序至关重要,因此需要同步)


,xmlHTTPRequest状态返回0,并且不执行同步。什么可能会阻止xmlHTTPRequest获得200的响应,因为在syncUp()之前运行的唯一代码是几行javascript,这应该在站点进入syncUp()之前执行?

状态代码为零有两个原因

  • 从文件协议进行调用
  • 请求发出时,页面正在刷新/导航

  • 在你的情况下,我认为是2。如果使用按钮或链接进行Ajax调用,请确保使用
    preventDefault
    returnfalse
    取消单击操作状态代码为零有两个原因

  • 从文件协议进行调用
  • 请求发出时,页面正在刷新/导航

  • 在你的情况下,我认为是2。如果使用按钮或链接进行Ajax调用,请确保使用
    preventDefault
    returnfalse
    按钮onclick事件取消单击操作。将对该特定页面所做的编辑保存在localStorage中,然后尝试将其同步。按钮onclick事件。将对特定页面所做的编辑保存在localStorage中,然后尝试将其同步。现在我觉得自己很愚蠢。忘了删除location=location行,我在那里刷新了页面,而这一切都是以不同的结构进行的。去掉了,现在一切都好了。非常感谢!现在我觉得自己很傻。忘了删除location=location行,我在那里刷新了页面,而这一切都是以不同的结构进行的。去掉了,现在一切都好了。非常感谢!
    function syncUp() {
        var xml = new XMLHttpRequest();
        xml.open("GET", "Default.aspx", true);  Also tried setting this to false
        xml.onreadystatechange = function() {
           if (xml.readyState == 4) {
             if (xml.status == 200) {
                 var items = localStorage.getItem("SyncOrder");
                 var sync = items.split(",");
    
                 for (var i = 0; i < sync.length -1; i++) {
                     Perform repeated synchronous calls to webservice via AJAX to integrate each item to the server
                  }
               }
            }
         }
      xml.send(null);
      }
    
    function saveEdit(item) {
          var currData = localStorage.getItem("SyncOrder");
          localStorage["SyncOrder"] = currData + "," + item;
          syncUp();
    }