2017-06-17 8 views
0

myCsrfAjaxというaJaxのカスタム関数を記述します。javascript - ネストされた関数の外部関数をキャッチできません

function myCsrfAjax(method, url, callback, jsonData) { 
    var ajax = new XMLHttpRequest(); 
    ... 
    ... 
} 

正常に動作します。しかし、この場合には、私はいくつかのネストされた関数に入れて、ちょうど、

var app = require('express'); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 
io.on("connection", function (socket) { 
    console.log("New Connection: " + socket.id); 

    socket.on("disconnect", function() { 
     console.log("disconnect:" + socket.id); 
     myCsrfAjax("POST","/msgboard/removeid",function(data){ 
      console.log(data); 
     },{"id":sockst.id}); 
     // ** ← even I defined 'function myCsrfAjax' here 
    }); 
}); 

とエラーが起こるが好きで、それは「myCsrfAjax」は定義されていないと言う、でも私は**で「関数myCsrfAjax」を定義し、それが "と言うだろうXMLHttpRequest "は定義されていないので、myCsrfAjaxで使用する必要があります。どうすればこの問題を解決できますか、私を助けてください。

+2

のXMLHttpRequestをnodejsで定義されていないが、私はそれを得た、[OK] – Andrey

+0

を的環境。 –

答えて

0
var myCsrfAjax = function(method, url, callback, jsonData) { 
    var ajax = new XMLHttpRequest(); 
    ... 
    ... 
} 

この行の後のように、io.on()範囲外varにそれを割り当てます。

var io = require('socket.io')(http); 
関連する問題