我为aJax编写了一个名为myCsrfAjax的自定义函数。
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”未定义,即使我在**中定义了'function myCsrfAjax',它也会说“XMLHttpRequest”是未定义的,我需要在myCsrfAjax中使用它。我该如何解决这个问题,请帮助我。
答案 0 :(得分:0)
var myCsrfAjax = function(method, url, callback, jsonData) {
var ajax = new XMLHttpRequest();
...
...
}
将其分配到var
范围之外的io.on()
,就像在此行之后:
var io = require('socket.io')(http);