1

我第一次写,但不是第一次在这里。我感到被迫在这里提问,因为这里没有一个明显相似的问题能够给我一个明确的解决方法或解决方案。我的项目涉及井字游戏,全部基于 jQuery、PHP 和日志文件。它工作正常,但是对于发送到 txt 日志的每条信息,我必须添加一个新的 $.post 来检索将显示在页面不同部分的信息,而不是全部在一个列表中(特别是 O 和 X被检索回其原始文本元素)...游戏是实时的,多人游戏并且运行良好,但使用由 PHP 编写的两个 txt 日志,它也管理游戏:一个日志保持位置(填充空间)和另一个使用了什么字符(X 或 O)。很好,但我通过 $.post 给这两个打电话,将它们的数据存储在各自的全局变量中并在 setInterval 中使用它们,以便为其他玩家及时更新。但是由于还有许多其他信息,例如名称和剩余动作(从 9 到 1),我想将所有内容放在一个日志中,这样更容易一次检索并在游戏中显示在各自的位置页。我的问题(现在我现在需要开始工作)是从 PHP 中检索它们。在测试过程中,我模拟了三个信息:位置、字符(O 或 X)和玩家姓名,将它们放在一个数组中并用 json_encode 回显它们,如下所示(我的 jQuery 帖子,然后是我的 PHP):一些更容易一次检索并通过游戏页面显示在各自位置的东西。我的问题(现在我现在需要开始工作)是从 PHP 中检索它们。在测试过程中,我模拟了三个信息:位置、字符(O 或 X)和玩家姓名,将它们放在一个数组中并用 json_encode 回显它们,如下所示(我的 jQuery 帖子,然后是我的 PHP):一些更容易一次检索并通过游戏页面显示在各自位置的东西。我的问题(现在我现在需要开始工作)是从 PHP 中检索它们。在测试过程中,我模拟了三个信息:位置、字符(O 或 X)和玩家姓名,将它们放在一个数组中并用 json_encode 回显它们,如下所示(我的 jQuery 帖子,然后是我的 PHP):

<script type="text/javascript" src="jquery.js"></script>


$.post ("json.php", {pos:"pos",weapon:"weapon",nome:"nome"}, function(data){

alert (data); //returns null...
//alert (data.pos); //nothing, script ignores execution
//alert (data[0].pos); //returns null...
//alert (data[1].pos); //returns null...
//alert (data[2].pos); //returns null...
//alert (data[3].pos); //returns null...
//tests above based on some suggestions I'fe found through the web, ineffective...

},"json");

还有我的 PHP:

<?php

//Simulating values being received during the game:

$pos='s3'; //simulation player's move on slot 3
$weapon='O'; //player puts O on slot 3
$name= 'fulano';

//Putting general player info into the array to be used by jQuery:

$coord= array();

$coord['pos']= $pos; //Sets the position where the player put his char
$coord['weapon']= $weapon; //The "weapon" to be put in respective "pos"
$coord['nome']=$name; //Player's name to be displayed during the game

echo json_encode($coord); //encoded json is returning {"pos":"s3","weapon":"O","nome":"fulano"} nicely
?>

两者都是post,都使用json,jQuery返回一些东西,但是是空的,PHP回声还好...... $.ajax根本没有成功......我需要的是:$.post检索每个数据,这样我就可以将它们一一存储在它们各自的全局变量中,但如果警报甚至无法显示其中一个即将到来,则说明有问题。更改了每个变量名称以避免任何类型的冲突,但没有解决...我进行此测试只是为了确保 jQuery 清楚地获取 PHP json,这里没有发生什么。我的 HTML 使用默认字符集,我在 localhost 中对其进行测试,我的主项目在这里完美运行,这是专门测试 json 响应的侧面测试。我在使用 $.ajax ({}) 时根本没有成功(我的 jQuery 是 1.7.1),无论如何,脚本只是停止执行,PHP 在这里一直响应正常,但是 jQuery 没有给我除了“null”之外它应该得到的东西,我已经在 FF15 和 IE8 上对其进行了测试,问题只是我在 jQuery 上的 json 例程,PHP 工作正常,我的 $.posts 在这里和主项目上, 也。这里可能出了什么问题?为什么不管我尝试什么,它只是简单地将数据返回为空?我提前感谢大家,我只是问,因为这里和外部没有真正给我答案的例子,而且 99,9% 依赖于 Ajax,但我相信它可以像这样更简单。

4

2 回答 2

1

将此添加到您的代码中

$.post ("json.php", {pos:"pos",weapon:"weapon",nome:"nome"}, function(data){
     $(data).each(function(){
            alert(this.s3);
            alert(this.0);
            alert(this.fulano);
     });
},"json");
于 2014-05-13T14:16:26.840 回答
0

有效的 JSON 如下:{"key":"value"}不是{key:"value"}

注意:所有引用都封装了,而不仅仅是值。希望有帮助。

于 2012-10-25T09:44:39.823 回答