javascript - JavaScript/Node 中如何调用它?

标签 javascript function

我将发布两个简单示例,我想知道它们是如何命名的

$.post('/path/to/file', {param1: 'value1'}, function(data, textStatus, xhr) {
/*optional stuff to do after success */
});

post函数中还有第三个参数,它是一个函数,但是函数内可以使用data、textStatus和xhr,那怎么调用呢?即使我一直使用它们,我觉得我仍然不理解“用法”或整个事情,我的意思是,第三个参数如何返回或使内部函数的这三个参数可用?

最佳答案

$.post (以及 $.get$.ajax 等)是 jQuery 在 XMLHTTPRequest API 之上的“糖”。第三个参数,即函数,称为回调,一旦请求完成并以请求响应作为其参数,就会调用该函数。简化版本如下所示:

function post(endpoint, params, callback) {
  var http = new XMLHttpRequest();
  var url = endpoint;
  var params = params;
  http.open("POST", url, true);
  http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http.onreadystatechange = function() {
    if (http.readyState == 4 && http.status == 200) {

      // The callback is called with the text (and other parameters)
      // passed in as arguments
      // jQuery also returns textStatus, and the jQXHR object
      // https://api.jquery.com/jquery.post/
      callback(http.responseText));
    }
  }
  http.send(params);
}

它的使用方式与$.post完全相同。

post('http://example.com/post', {}, function (text) {
  console.log(text);
});

关于javascript - JavaScript/Node 中如何调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45785148/

相关文章:

function - 自动完成通过 Google 表格中的脚本添加的自定义函数

javascript - 如何使用内联 JSDoc 指示参数是可选的?

javascript - jquery not() 不删除 child

javascript - jsTree中如何加载子节点

objective-c - 如何访问 C 函数中的 N 个参数并将相同的 N 传递给下一个?

javascript 一个用于ajax请求的函数

Azure函数错误: microsoft. Azure.WebJobs.Extensions.Http

javascript - Bootstrap 选项卡以 Secondtab 中的大空白开头

javascript - 如何使用 Embark 框架演示程序运行 IPFS

javascript - 传递一个函数作为参数,它使用父函数的参数,但也有它自己的参数