2016-12-28 22 views
1

私は、XMLHttpRequestを使用して、サーバーとcomunicateしようとしています。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); 
}; 

makeRequestのパラメータextraInfoをハンドラ関数に渡すにはどうすればよいですか? (グローバル変数を使用せずに)

答えて

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); 
    }; 
}; 
関連する問題