0

私は .js と .php ファイルと html ページを持っています。js ファイルを html ファイルに、php ファイルを js ファイルに含めています。

このページに移動したときに、アドレスバーを使用してjsファイルからphpファイルに「cat」値を渡したいです。

/demo/convert.html?cat=ボリューム

しかし、これを行う方法がわかりません。

ところで、これは blacberry プロジェクトであり、アドレス バーを使用して値を渡すことができるかどうかはわかりません。どんなアイデアでも大歓迎です。

4

2 に答える 2

4

次のような 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>
于 2012-05-16T21:03:35.037 に答える
1

できますよ。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'];
于 2012-05-16T21:05:58.437 に答える