我正在尝试从 URL 中获取一些参数并将它们传递给另一个函数。
获取参数的函数是这样的:
function getUrlVars(callback) {
var urlVars = {};
var urlparts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
urlVars[key] = value;
});
callback(urlVars);
}
它获取参数就好了。应该将 urlVars 传递给的函数如下所示:
document.addEventListener('done', function() {
var projSelect = document.getElementById('projectSelection');
projSelect.value = urlVars[0];
});
});
};
我像这样调用这两个函数:
window.onload=function(){
getUrlVars(selectBox(urlVars));}
所以我要做的就是根据 URL 中的参数设置选择框的值。但是我得到一个错误,告诉我“urlVars”没有定义。
坦率地说,我已经束手无策了。谁能告诉我我做错了什么?
最佳答案
您遇到的问题是,当您为 window.onload
定义方法时,您传递的参数未在脚本中的任何位置定义。
另外,你好像是想给urlVars
传递一个回调方法,但是你传递的是一个参数?从您提供的代码很难判断。
为什么不从您的选择框中获取您想要的参数,然后将它们发送到所需的方法?
关于javascript - 回调 - ReferenceError : Variable is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59453344/