2013-09-26 14 views
0

我正试图找到一种方法来做到这一点,但我知道我不能这样做,因为服务器端(php)vs客户端(JS)。尝试将URL中的#传递给PHP变量后的字符串

我想获得#号后的变量,例如,如果它是www.test.com/hello#4213我想获得字符串4213.到目前为止,我已经使用了以下功能

function GetURLParameter(sParam) { 
    var sPageURL = window.location.hash.substring(1); 
    var sURLVariables = sPageURL.split('&'); 
    for (var i = 0; i < sURLVariables.length; i++) { 
     var sParameterName = sURLVariables[i].split('='); 
     if (sParameterName[0] == sParam) { 
      return sParameterName[1]; 
     } 
    } 
} 

现在的问题是我想把它放到我需要的PHP变量中,以便我可以获取有关产品的信息。更具体地说,我在Magento中使用它来在#号之后获得SKU,然后动态创建带有照片和图像的页面。到目前为止,我已经拥有了除这部分以外的所有代码。

问题是如何将JS变量传递给PHP

谢谢!

+0

如果您正在创建的链接,答案显然是不使用# – 2013-09-26 22:38:44

+1

是否有令人信服的理由来使用#代替标准查询海峡的ING?这是在一个页面的应用程序类型的执行? – providencemac

+0

@providencemac是真实的。看起来你似乎过于复杂的事情。为什么不使用'mysite.com?sku = 12345'并通过'$ _GET ['sku']'检索值? – Axel

回答

0

什么,你想4213是JS,那么:

var str="www.test.com/hello#4213"; 
var n=str.lastIndexOf("#") + 1; 
alert(str.substring(n)); 

你还没有清楚地解释你将如何通过JS乏回PHP,也许更清晰的解释将是很好

+0

谢谢,那正是我想弄明白的。我如何将JS变量传递回PHP – kestrelprodigal

0

尝试这段代码,可能是它的帮助你

<script type="text/javascript"> 
document.observe('dom:loaded', function(){ 
    var pageURL = window.location.href; 
    var lastStr = pageURL.lastIndexOf("#") + 1; 
    alert(pageURL.substring(lastStr)); 
}); 
</script> 
相关问题