为了账号安全,请及时绑定邮箱和手机立即绑定

js 传递的值中间包含变量名称,怎么转化?

js 传递的值中间包含变量名称,怎么转化?

POPMUISE 2019-03-01 18:19:53
window.open(url);url 是 ajax 取过来的。内容就是WEBAPICONSTANT.WEBAPI.URL + '/ssologin/login?m=SBYHMOD_03'WEBAPICONSTANT.WEBAPI.URL在页面上有定义,但是我绑定的时候直接就指向WEBAPICONSTANT.WEBAPI_SSO.URL%20+%20'/ssologin/login?m=SBYHMOD_03%27 怎么才能正确的转化?我的url里面还有 一些页面跳转的方法名,应该怎么写呢?
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

试试这样

window.open(eval(WEBAPICONSTANT.WEBAPI.URL) + WEBAPICONSTANT.WEBAPI.URL)


查看完整回答
反对 回复 2019-03-04
?
冉冉说

TA贡献1877条经验 获得超1个赞

你返回的是字符串并不是js可以执行的代码要做一些转换


var WEBAPICONSTANT = {

    WEBAPI: {

        URL: "1111111111"

    }

}

var str = "WEBAPICONSTANT.WEBAPI.URL + '/ssologin/login?m=SBYHMOD_03'";

console.log(str)//WEBAPICONSTANT.WEBAPI.URL + '/ssologin/login?m=SBYHMOD_03'

//理由eval转换

console.log(eval(str))//1111111111/ssologin/login?m=SBYHMOD_03

//理由new Function转换

var func = new Function("return " + str);

console.log(func())//1111111111/ssologin/login?m=SBYHMOD_03

不过一般都是这样


var WEBAPICONSTANT = {

    a:"aaaa",

    b:"bbbb"

}

var str = "a";

console.log(WEBAPICONSTANT[str])//aaaa


查看完整回答
反对 回复 2019-03-04
?
弑天下

TA贡献1818条经验 获得超8个赞

<script>

    var WEBAPICONSTANT = {

        WEBAPI: {

            URL: 'test'

        }

    };

    

    var getName = 'WEBAPICONSTANT.WEBAPI.URL';

    

    console.log(eval(getName)); // test

    

    

    //当然,还可以这样

    function abc (str) {

        str = str.split('.');

        var result = window;

        for(var a=0;a<str.length; a++) {

            result = result[str[a]];

        }

        return result;

    }

    

    console.log(abc(getName)); // test

</script>

上面都说了两种了,我再来一种


查看完整回答
反对 回复 2019-03-04
  • 3 回答
  • 0 关注
  • 625 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信