传递额外的参数给XMLHttpRequest.onload
问题描述:
我试图与服务器comunicate,使用JavaScript中的XMLHttpRequest。传递额外的参数给XMLHttpRequest.onload
如何传递到onload事件功能的信息?
// global variable that containts server response
var reply;
var makeRequest = function(extraInfo) {
var request = new XMLHttpRequest();
request.open(...);
request.onload = handler;
};
var handler = function(data) {
reply = data.target.response;
console.log("Server Reply: " + reply);
};
如何将参数extraInfo从makeRequest传递到处理函数? (不使用全局变量)
答
只需使用一个封闭在这样的方式:
...
var makeRequest = function(extraInfo) {
var request = new XMLHttpRequest();
request.open(...);
request.onload = function(data) {
// extraInfo is accessible here
reply = data.target.response;
console.log("Server Reply: " + reply);
};
};