在同一/多个脚本中调用多个XMLHttpRequests的正确方法是什么?

时间:2017-05-15 16:44:41

标签: javascript ajax xmlhttprequest

我认为我遇到了使用相同变量的问题,在某些情况下,我可能会因为功能范围而分开。我最近用普通的JS替换了我所有的jQuery代码,这打破了一些事情,但是在这种情况下,获得的速度/缺乏依赖性(额外的文件下载)对我有好处。

所以我的基本形式是:

var http = new XMLHttpRequest(),
    url = "php/my-script.php",
    params = encodeURI('some-param='+value);
http.open("POST", url, true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

http.onreadystatechange = function(data) {
  //Call a function when the state changes.
  if(http.readyState == 4 && http.status == 200) {
    var result = JSON.parse(http.responseText);
    if (result['status'] === "success") {
      someFunction(result['some_key']);
    }
  }
}
http.send(params);

当我遇到使用相同http变量的问题时,我开始用http1,http2等替换新的...似乎是一个坏主意。特别是之后必须像http2.responseText等替换所有的http-method(?)调用...我应该把它变成一个函数...然后传入值来发布并返回数据?

我想我不明白你打电话时会发生什么:

var http = new XMLHttpRequest();

这是一次性用例,在调用之后你需要为另一个帖子换一个新用例吗?

我将尝试单一全局功能方法。无论是获取还是发布,我都需要在任何地方进行AJAX调用,我总是只使用$ .post / $。当场查看,不确定是否不好。

0 个答案:

没有答案