【问题标题】:Passing a javascript variable into a php variable [duplicate]将javascript变量传递给php变量[重复]
【发布时间】:2014-01-11 18:39:51
【问题描述】:

My web page

我正在尝试制作一个高分列表。我一直在到处寻找答案。但我似乎找不到有效的答案。昨天我让它昨天工作。不知道我用的是哪个代码,觉得是这样的

window.location = "hihgscore_code.php=" + score

但这使它转到一个新的网页。我希望它留在我的网页上。然后我知道我必须使用ajax。所以我尝试过发布。和 ajax 函数与 jquery 但现在我希望分数站在它只是变成空白。 我认为在这里添加我的代码没有意义,因为在我所有尝试之后它已经变得一团糟,我不知道它在说什么了:S

我的目标是将我用 javascript 制作的游戏中的分数发送到 php,以便它从数据库中获取高分列表,然后检查分数是否足够高以进入列表。然后我将使用 <form><input> 将名称添加到列表中。但要做到这一点,我需要将我的 javascript 变量 score 放入 php 变量中:S

如果不问,我希望你能理解我想要做什么。我会尽力解释得更好!

我已经尝试过 window.location = "hihgscore_code.php=" + score 它可以工作,但我被重新路由到http://mcclane654-productions.co.nf/game/highscore_code.php?score=7。 我最近也尝试过

 $.ajax({
                    type: "POST",
                    url: 'highscore_code.php',
   data: "score=" + killed})

然后用了

$score = $_POST['score'];

在 php 中获取它。

我昨天确实在我的 javascript 和 php 中尝试了一个版本的帖子。还尝试在我的 php 代码中使用 _GET -.-

【问题讨论】:

  • 您需要为此使用ajax
  • ...到目前为止您尝试了什么?请发布您的代码。
  • 不,如果您说代码一团糟,请不要发布您的代码。首先,清理它以将其作为一个工作示例(或者在你的情况下,不工作,但仍然缩小到你的问题),然后回来发布一些代码或 jsFiddle 链接。
  • 这个window.location = "highscore_code.php=" + score应该是window.location = "highscore_code.php?score=" + score,然后在你的PHP代码中$score = isset($_GET['score']) ? $_GET['score'] : '';
  • 等一下,我会添加一些我尝试过的代码

标签: javascript php ajax database xmlhttprequest


【解决方案1】:

由于没有人愿意帮助,我自己找到了答案。因此,如果其他人想知道如何执行此操作,请使用此脚本:

javascript:

var htmlrequest;
if (window.XMLHttpRequest) {
htmlrequest = new XMLHttpRequest();
} else {
hmtlrequest = new ActiveXObject("Microsoft.XMLHTTP");}
htmlrequest.onreadystatechange = function() {
if (htmlrequest.readyState == 4 && htmlrequest.status == 200) {
  document.getElementById("game").innerHTML = htmlrequest.responseText;}}
htmlrequest.open("POST", "highscore_code.php", true);
htmlrequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
htmlrequest.send("score=" + killed);}

并在 php 中使用

$_POST['score']

【讨论】:

  • 你的代码和我的代码一样......我的错我忘了提到我的需要jquery.com库才能工作。但多亏了这一点,代码更短了。
【解决方案2】:

看看这个:

$.ajax({
  type: "POST",
  url: "highscore_code.php",
  data: { score: killed}
})
  .done(function( returned_data ) {

});

变量 returned_data 将包含 PHP 输出,为了方便通信,您应该使用 JSON - 在您的 PHP 代码 echo json_encode (your data - eg. array) 函数中,然后在 returned_data 上使用 JSON.parse,这样您将再次获得对象/对象数组轻松访问所有字段。

【讨论】:

  • $.ajax({ type: "POST", url: "highscore_code.php", data: { score: kill} }) .done(function( returned_data ) { });我将其复制并粘贴到我的 javascript 页面。我还在我的 php 中创建了一个变量,等于 json_encode(score);但我不确定将 JSON.parse 放在哪里,因为它对 php 不可读,并且参数应该是返回数据或其他东西。我现在一直在阅读 JSON,但在 w3school 上他们只有关于 JSON 以及如何在 javascript 中使用它的信息:/
  • 经过更多研究后,我相信您误解了我的问题。我不想将任何数据返回给他们的javascript!完成游戏后,php 代码会打印出高分列表。但在列表上方,我希望打印分数。所以我需要的只是将分数发送到 php 代码并让它打印出来!如果您可以看一下我的页面,那就容易多了。但你不想那很好。但是有人可以帮我吗:S?
猜你喜欢
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多