Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取javascript中的url字符串参数并将其传递到新url_Javascript_Php_Jquery_Html - Fatal编程技术网

获取javascript中的url字符串参数并将其传递到新url

获取javascript中的url字符串参数并将其传递到新url,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在尝试使用javascript来完成一些我在PHP中已经做了很多次的事情 我有两个URL实例进入我的站点。一个来自跟踪链接。。。另一个来自搜索或共享,等等 跟踪链接:www.foo.com/blog?offer=pine&sub_id=123 非付费搜索链接:www.foo.com/blog 我想检测我的链接是否有一个字符串,如果有,将提供的内容传递到页面内的url中。在PHP中,我会这样做 <?php if(array_key_exists('sub_id', $array)

我正在尝试使用javascript来完成一些我在PHP中已经做了很多次的事情

我有两个URL实例进入我的站点。一个来自跟踪链接。。。另一个来自搜索或共享,等等

跟踪链接:www.foo.com/blog?offer=pine&sub_id=123 非付费搜索链接:www.foo.com/blog

我想检测我的链接是否有一个字符串,如果有,将提供的内容传递到页面内的url中。在PHP中,我会这样做

<?php
    if(array_key_exists('sub_id', $array)) {
        $my_variable = $array['sub_id'];
    } else {
        $my_variable = 'my default value';
    }
?>
    <a class="submitbutton" href="www.joinmywebsite.com/join?offer=pine&sub_id=<?php echo $my_variable; ?>">Join My Site</a>

可以用javascript实现这一点吗?我搜索了又搜索,我找到的ever函数要么返回字符串参数的值,要么什么也看不到,什么也不做

谢谢。

当然可以:

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(
                                                results[1].replace(/\+/g, " "));
}

var subId = getParameterByName('sub_id') || 'my default value';

$(function(){

     $('a.submitbutton')
       .prop({ href: 'www.joinmywebsite.com/join?offer=pine&sub_id=' + subId  });
});

来源:

如果我理解你的问题,这应该是答案:

<script type='text/javascript'>
function getUrlVars()
{
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; });

    return vars;
}


var path = window.location.href;
var position = path.indexOf("sub_id");

if (position != -1)
    var desired = getUrlVars()["sub_id"];
else
    var desired = 'my default value';

//alert(desired);
</script>

<a class="submitbutton" onClick="document.location.href='http://www.joinmywebsite.com/join?offer=pine&sub_id=' + desired;">Join My Site</a>

函数getUrlVars()
{
var vars={};
var parts=window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,函数(m,键,值){vars[key]=value;});
返回变量;
}
var path=window.location.href;
var position=路径indexOf(“子节点id”);
如果(位置!=-1)
所需变量=getUrlVars()[“sub_id”];
其他的
所需变量='我的默认值';
//警报(需要);

如何设置此实例中的默认值?@user3443800刚刚注意到您要求这样做。请查看更新