2016-12-28 180 views
1

我试图与服务器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传递到处理函数? (不使用全局变量)

回答

2

只需使用一个封闭在这样的方式:

... 
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); 
    }; 
}; 
相关问题