URL构建器/文本操作 - JavaSctipt / Jquery

时间:2017-04-29 12:46:20

标签: javascript jquery

我非常接近实现我想要的东西,但是事情是正确的。

我的代码:

$(window).on('load', function() {
    $('#open').click(function() {
        var fixedData1 = 'http://10.1.1.0:3000/dashboard/db/dashboard-test?var-vip1=',
            userEntry1 = $('#one').val(),
            fixedData2 = '&var-vip2=',
            fixedData3 = '&var-nsPathSplice=',
            check = userEntry1.replace('.dfw.', '.dal.')
        var nsPathSplice = "/" + userEntry1.split(".").slice(1, 4).reverse().join("/") + "/BOM*";
        if (check == userEntry1) {
            check = userEntry1.replace('.dal.', '.dfw.')
        }
        var newWindow = window.open(fixedData1 + userEntry1 + fixedData2 + check + fixedData3 + nsPathSplice);
    })
});

其中userEntry1 = $('#one')。val(),=来自用户的输入

所以我正在尝试构建一个URL字符串,其中包含来自Web表单上输入的一些文本的三位密钥信息。例如,用户可以输入;

app.prod.platform.org.dal.prod.site.com-HTTP_80tcp-00000000磅

我的代码段应该形成以下网址输出

http://10.0.0.0:0000/dashboard/db/dashboard-test?var-vip1=app.prod.platform.org.dal.prod.site.com-HTTP_80tcp-00000000-lb?var-vip2=app.prod.platform.org.dfw.prod.site.com-HTTP_80tcp-00000000-lb&var-nsPathSplice=/org/platform/prod/BOM *

但是我得到了

http://10.0.0.0:0000/dashboard/db/dashboard-test?var-vip1=http:%2F%2F10.0.0.0:0000%2Fdashboard%2Fdb%2Fdashboard-test%3Fvar-vip1%3D&var-vip2=app.prod.platform.org.dfw.prod.site.com-HTTP_80tcp-00000000-lb&var-nsPathSplice=%2Forg%2Fplatform%2Fprod%2FBOM *

谁能看到我哪里出错了?

1 个答案:

答案 0 :(得分:0)

你可以试试这个

$(window).on('load', function() {
    $('#open').click(function() {
        var fixedData1 = 'http://10.1.1.0:3000/dashboard/db/dashboard-test?var-vip1=',
            userEntry1 = $('#one').val(),
            fixedData2 = '&var-vip2=',
            fixedData3 = '&var-nsPathSplice=',
            check = userEntry1.replace('.dfw.', '.dal.')
        var nsPathSplice = '/' + userEntry1.split('.').slice(1, 4).reverse().join('/') + '/BOM*';
        if (check == userEntry1) {
            check = userEntry1.replace('.dal.', '.dfw.')
        }
        var newWindow = window.open(fixedData1 + userEntry1 + fixedData2 + check + fixedData3 + nsPathSplice);
    })
});

我在JSfiddle中尝试了上述代码,该代码正常工作。 感谢