2

我试图将两个 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 脚本感到困惑。有没有一种工作方式来传递两个变量?我找到了几种通过一种但没有通过两种的方法。

4

3 回答 3

5

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

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

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

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

于 2013-01-06T15:19:45.513 回答
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。

于 2013-01-06T15:25:09.973 回答
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");
              });
于 2013-01-06T15:24:56.257 回答