如何将参数从一个函数发送到另一个函数

阿森

如何从函数func()获取面值并将其用于附加到另一个函数中的a_span元素handlerFunction()par是一个ID。handlerFunction(),我需要得到a_spanID

例如:

document.getElementById('a_span35')

function func(par) {
  XMLHttp.open("POST", "some.php");
  XMLHttp.onreadystatechange = handlerFunction();
  XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  XMLHttp.send("post_name="+par);
}

function handlerFunction() {
  if (XMLHttp.readyState == 4) {
    document.getElementById('a_span').innerHTML=XMLHttp.responseText;
  }
}
TJ人群

最简单的方法就是把handlerFunction 里面 func,所以它关闭了par(但我下面给你一个选择):

function func(par) {
  XMLHttp.open("POST", "some.php");
  XMLHttp.onreadystatechange = handlerFunction;
  XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  XMLHttp.send("post_name=" + par);

  function handlerFunction() {
    // You can use `par` here, even though `func` has already returned
    if (XMLHttp.readyState == 4) {
      document.getElementById('a_span').innerHTML = XMLHttp.responseText;
    }
  }

}

handlerFunction是一个封闭在调用的上下文func不用担心这个词,闭包并不复杂


另请注意,您在上面我已更正的代码中有一个错误:

XMLHttp.onreadystatechange = handlerFunction();

...,它会立即调用 handlerFunction并将其返回值分配给onreadystatechange(正是x = foo(); 调用 foo并将返回值分配给的方式x)。它应该是:

XMLHttp.onreadystatechange = handlerFunction;

我假设您正在创建某处XMLHttp(并且我建议为每次调用都创建一个新的func,而不是重复使用)。


替代方案:

您可以handlerFunction通过将调用包装在另一个函数中来保持分离,方法是手动进行:

function func(par) {
  XMLHttp.open("POST", "some.php");
  XMLHttp.onreadystatechange = function() {
    handlerFunction(XMLHttp, par);
  };
  XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  XMLHttp.send("post_name=" + par);
}

function handlerFunction(xhr, par) {
  if (xhr.readyState == 4) {
    // use par
    document.getElementById('a_span').innerHTML = xhr.responseText;
  }
}

...或使用ES5 Function#bind

function func(par) {
  XMLHttp.open("POST", "some.php");
  XMLHttp.onreadystatechange = handlerFunction.bind(undefined, XMLHttp, par);
  XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  XMLHttp.send("post_name=" + par);
}

function handlerFunction(xhr, par) {
  if (xhr.readyState == 4) {
    // use par
    document.getElementById('a_span').innerHTML = xhr.responseText;
  }
}

您需要Function#bind在没有本地功能的浏览器中使用填充程序所要做的bind是返回一个函数,该函数在被调用时调用具有给定this值(第一个参数)的原函数以及要提供给值的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串从一个活动发送到另一个活动?

来自分类Dev

如何将数据从一个片段发送到另一个片段?

来自分类Dev

如何将数据从一个ejs文件发送到另一个

来自分类Dev

如何将数组从一个活动(意图)发送到另一个?

来自分类Dev

我如何将静态函数的值发送到另一个对象?

来自分类Dev

在JavaScript中将鼠标悬停事件从一个函数发送到另一个函数

来自分类Dev

如何将参数从一个函数传递到另一个函数

来自分类Dev

将Qpixmap从一个窗口发送到另一个窗口

来自分类Dev

将结果从一个班级发送到另一个班级

来自分类Dev

将位图从一个活动发送到另一个错误

来自分类Dev

如何在Jmeter中将参数从一个HTTP请求发送到另一个

来自分类Dev

如何将数据从一个视图发送到另一个视图,它是品牌,模型等。这不是一种形式

来自分类Dev

如何使用JavaScript将数据从一个.window发送到另一个?

来自分类Dev

如何使用Scenic将消息从一个场景发送到另一个场景?

来自分类Dev

如何使用JavaScript将数据从一个.window发送到另一个?

来自分类Dev

使用javascript中的postMessage函数将消息从一个域发送到另一个域

来自分类Dev

如何将参数从一个函数传递到另一个函数,但在php中的同一个类中

来自分类Dev

JavaScript将值发送到另一个函数

来自分类Dev

JavaScript将值发送到另一个函数

来自分类Dev

将值从函数发送到另一个 VC,swift3

来自分类Dev

如何将消息从一个控制器发送到另一个对等控制器

来自分类Dev

Backbone.js-如何将非状态“事件”从一个视图发送到另一个视图?

来自分类Dev

Django-如何将“ POST”信息从一个视图发送到另一个视图

来自分类Dev

如何将类的php数组的值从一个php文件发送到另一个php文件

来自分类Dev

如何将args从一个python文件发送到另一个sys.argv

来自分类Dev

如何将值从一个jsp页面发送到另一个页面但重定向到其他页面?

来自分类Dev

如何将参数发送到另一个控制器中的 GET API

来自分类Dev

如何将参数发送到另一个 PHP 网站的 AJAX POST 方法并获取 JSON 信息

来自分类Dev

如何将.bat文件命令发送到另一个IP地址?

Related 相关文章

  1. 1

    如何将字符串从一个活动发送到另一个活动?

  2. 2

    如何将数据从一个片段发送到另一个片段?

  3. 3

    如何将数据从一个ejs文件发送到另一个

  4. 4

    如何将数组从一个活动(意图)发送到另一个?

  5. 5

    我如何将静态函数的值发送到另一个对象?

  6. 6

    在JavaScript中将鼠标悬停事件从一个函数发送到另一个函数

  7. 7

    如何将参数从一个函数传递到另一个函数

  8. 8

    将Qpixmap从一个窗口发送到另一个窗口

  9. 9

    将结果从一个班级发送到另一个班级

  10. 10

    将位图从一个活动发送到另一个错误

  11. 11

    如何在Jmeter中将参数从一个HTTP请求发送到另一个

  12. 12

    如何将数据从一个视图发送到另一个视图,它是品牌,模型等。这不是一种形式

  13. 13

    如何使用JavaScript将数据从一个.window发送到另一个?

  14. 14

    如何使用Scenic将消息从一个场景发送到另一个场景?

  15. 15

    如何使用JavaScript将数据从一个.window发送到另一个?

  16. 16

    使用javascript中的postMessage函数将消息从一个域发送到另一个域

  17. 17

    如何将参数从一个函数传递到另一个函数,但在php中的同一个类中

  18. 18

    JavaScript将值发送到另一个函数

  19. 19

    JavaScript将值发送到另一个函数

  20. 20

    将值从函数发送到另一个 VC,swift3

  21. 21

    如何将消息从一个控制器发送到另一个对等控制器

  22. 22

    Backbone.js-如何将非状态“事件”从一个视图发送到另一个视图?

  23. 23

    Django-如何将“ POST”信息从一个视图发送到另一个视图

  24. 24

    如何将类的php数组的值从一个php文件发送到另一个php文件

  25. 25

    如何将args从一个python文件发送到另一个sys.argv

  26. 26

    如何将值从一个jsp页面发送到另一个页面但重定向到其他页面?

  27. 27

    如何将参数发送到另一个控制器中的 GET API

  28. 28

    如何将参数发送到另一个 PHP 网站的 AJAX POST 方法并获取 JSON 信息

  29. 29

    如何将.bat文件命令发送到另一个IP地址?

热门标签

归档