如何从javascript变量中的url获取base64编码值

如何从javascript变量中的url获取base64编码值,javascript,Javascript,嘿,我正在尝试从javascript变量中的url获取值。 以下是演示url: 现在我想从url访问prod_id MQ==并对其进行解码并将其存储在javascript变量中。 有人能帮我实现这个吗? 提前感谢。首先,您必须转义base64字符串,因为在查询字符串中使用了有效的base64字符=例如。您可以使用javascript中的escape实现这一点 接下来,您需要解析查询字符串,并取消对该值的scape,以再次获取base64字符串。解析查询字符串可能超出了这个问题的范围,因为web上

嘿,我正在尝试从javascript变量中的url获取值。 以下是演示url: 现在我想从url访问prod_id MQ==并对其进行解码并将其存储在javascript变量中。 有人能帮我实现这个吗?
提前感谢。

首先,您必须转义base64字符串,因为在查询字符串中使用了有效的base64字符=例如。您可以使用javascript中的escape实现这一点

接下来,您需要解析查询字符串,并取消对该值的scape,以再次获取base64字符串。解析查询字符串可能超出了这个问题的范围,因为web上有很多资源

要分析该字符串,首先从location.search获取该字符串,该字符串将返回查询字符串,包括?。既然您不需要“?”,我建议使用.substring1来修剪它。接下来,您需要拆分符号“&”上的字符串,以便得到如下数组:
['prod_id=MQ=','action=add']。最后,取该数组中的每个字符串并在第一个“=”上拆分,这将得到一个数组2,其中第一个是键,第二个是值。

这在现代浏览器中适用。如果将箭头功能替换为正常功能,也可以使其在IE 10中工作:

function getFromQueryStringAndDecode ( query ) { 
    var base64 = location.search.substr( 1 ).split( /&/g )
      .map( x => x.split( /^([^=]*)=/ ).slice( 1 ) )
      .filter( x => x[0] === query )[0][1]
    ;
    return atob( base64 );
}

// Usage:
getFromQueryStringAndDecode( 'prod_id' ); // '1'

首先将url中的值放入php变量,如下所示:

<?php
  $x = base64_decode($_GET["prod_id"]);
?>            

你的方法是什么?你的问题是什么?在那之后可能会出现/Base64解码的重复——而且应该很容易研究。问题没有提到PHP或jQuery。
<input type="hidden" id="product_id" value="<?php echo $x; ?>">
$(document).ready(function(){
    $value = $("#product_id").val();     
}