我有 .js 和 .php 文件和 html 页面。我在 html 文件中包含 js 文件,在 js 文件中包含 php 文件。
当我转到此页面时,我想使用地址栏将 'cat' 值从 js 文件传递到 php 文件;
/demo/convert.html?cat=volume
但我不知道该怎么做。
顺便说一句,这是一个 blacberry 项目,我不确定是否可以使用地址栏来传递值。欢迎任何想法。
我有 .js 和 .php 文件和 html 页面。我在 html 文件中包含 js 文件,在 js 文件中包含 php 文件。
当我转到此页面时,我想使用地址栏将 'cat' 值从 js 文件传递到 php 文件;
/demo/convert.html?cat=volume
但我不知道该怎么做。
顺便说一句,这是一个 blacberry 项目,我不确定是否可以使用地址栏来传递值。欢迎任何想法。
使用如下 URL 测试此示例代码: http ://sputnick-area.net/test/index.php?foobar=works_as_a_charm
<?php
$var = $_GET['foobar'];
echo <<<EOF
<html>
<head>
<title></title>
</head>
<body>
demo of using PHP GET variable in Javascript :
<script type="text/javascript">
alert("$var");
</script>
</body>
</html>
EOF
?>
编辑:
如果您想在 JavaScript 中处理 GET 变量,请考虑以下 HTML + JavaScript 示例:http ://sputnick-area.net/test/index.html?foobar=works_as_a_charm
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var vars = [], hash;
var hashes = window.location.href.slice(
window.location.href.indexOf('?') + 1
).split('&');
for(var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
alert(vars['foobar']);
</script>
</body>
</html>
你当然可以。当您的 JS 函数被调用时,您必须执行以下操作:
function someFunction(someParameters) {
//Do whatever you need to do
window.location = "/demo/convert.html?variableName=" + variable;
}
这将导致页面重新加载,新变量可通过$_GET
数组中的 PHP 访问。例如:
<?php
$name = $_GET['variableName'];
if(length($name) < 3) {
echo "That is a short name!";
}
?>
页面重新加载(在此处使用)是向 PHP 发送值所必需的,因为它在服务器端运行。您唯一的其他解决方案是使用 AJAX 并动态加载页面内容。然而,这将是最简单的解决方案。
编辑:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
var urlvariable = getUrlVars()['variableName'];