HTML页面如何传递引用全局hostname变量的参数至JS函数
需求可以实现,你目前的写法问题在于传递的是字符串而非变量引用,有两种常用实现方案:
方案1:直接传递全局变量(最推荐,写法最简单)
直接去掉onclick调用时hostname外层的引号,传递实际的全局变量本身即可:
<button onclick="stopvm(hostname)">Stop</button>
这种写法下你现有的stopvm函数不需要做任何修改,传入的param就是你定义的hostname数组,直接取param[1]就能得到对应url。
方案2:通过变量名字符串读取全局变量
如果你的场景必须传字符串形式的变量名(比如变量名是动态生成的场景),可以利用全局变量默认挂载在window对象上的特性,在函数内通过变量名字符串读取对应值:
修改stopvm函数即可:
function stopvm(param) { // 通过window对象读取对应名称的全局变量 const targetHost = window[param]; console.log(targetHost[1]) var _url = targetHost[1]; $.ajax({ type: 'POST', url: _url }); }
这种写法下你现有的按钮调用代码stopvm('hostname')不需要修改。
内容的提问来源于stack exchange,提问作者Trudy
相关产品推荐
相关产品推荐

