将两个JavaScript变量传递给PHP变量

时间:2013-01-06 15:17:34

标签: php javascript variables global-variables

我试图将两个JavaScript变量传递给PHP变量。

function myFunction(){
  var one = 'one';
  var two = 'two';
}

在做完我的研究之后,我已经得出结论我将不得不使用AJAX,比如

window.location.href = "myphpfile.php?one=" + one;
window.location.href = "myphpfile.php?two=" + two;

但我无法使用

在PHP中获取变量
$_GET['one']
$_GET['two']

我也很困惑我是否两次调用php脚本。是否有传递两个变量的工作方式?我找到了几种传递方法,但没有传递两种方法。

3 个答案:

答案 0 :(得分:5)

以下内容将在单个请求中发送两个变量

window.location.href = "myphpfile.php?one=" + one + "&two=" + two;

但window.location.href不是AJAX请求。调用上面的代码将导致浏览器位置更改为myphpfile.php。

请参阅this page了解如何开始使用AJAX,或者您可以考虑使用jQuery

答案 1 :(得分:2)

如果您只是想“发射并忘记”这些变量,则不需要AJAX。常见的方式(不优雅,但工作)是使用隐藏框架:

<iframe id="MyFrame" style="display: none;"></iframe>

然后在你的代码中:

function myFunction(){
    var one = 'one';
    var two = 'two';
    document.getElementById("MyFrame").src = "myphpfile.php?one=" + encodeURIComponent(one) + "&two=" + encodeURIComponent(two);
}

这将导致PHP接收请求,但是如果要读取和解析结果,最好使用“真正的”AJAX。

答案 2 :(得分:1)

如果您只想将变量发送到另一个页面,请使用:

           window.location.href = "myphpfile.php?one=" + one + "&two=" + two;

如果你想要ajax请求:

            $.ajax({
               url: "myphpfile.php",
               method: 'get',
               data : {one:"one",two:"two"},
              success:function() {
              alert("hi to all");
              });