很长时间stackoverflow用户,但第一次海报!我最近做了一个非常简单的基于浏览器的小游戏,当我说简单时,我不能强调这一点。
无论如何,整个游戏逻辑都在一个小的javascript文件中。在该文件中,我有一个名为value的变量,它包含玩家得分。
允许用户在游戏过程中的任何给定时间单击“提交”,然后使用php脚本访问和编写他们的用户名,并希望很快将他们的分数添加到我的数据库中。
我遇到的问题我知道很多新手Ajax已经有了,我如何将javascript变量值的值发送到我的php页面,该页面处理将变量发送到我的数据库?
我已经阅读了相当多的内容并且似乎无法使其正常工作。因此,从头开始,假设我有一个功能正常的javascript文件,其值变量包含分数。如何使用ajax将分数发送到php文件?我在哪里放置Ajax代码?
谢谢stackoverflow!另外我已经知道javascript驻留在客户端,php运行在服务器端,我只想知道如何正确地将分数发送到php文件,就是这样!再次感谢stackoverflow!
编辑:因为我似乎在投票,这是我所拥有的,但它不起作用:
我的Ajax:
function ajaxCall() {alert("To AJAX: the value is: " + value);
$.ajax
( {
type: "POST",
url: "handler.php",
data: {'value' : value},
success: function(response)
{ alert("The value was passed!")}
}
);};
AjaxCall的();
handler.php的一部分:
if(isset($_POST['value']))
{
$value = $_POST['value']."";
var_dump($value);
}
var_dump($_POST['value']);
答案 0 :(得分:0)
只需使用它,
你的ajax.js应该包含这个。
$(document).ready(function() {
$("#submitscore").click(function(event){
var user = $('#username').val();
var value = document.getElementById('yourscore').innerHTML;
$.post(
"submitscore.php",
{ username: user, score: value }
);
});
});
您的其他文件应该有一个ID为“submitscore”的按钮
Hi, <input type="text" id="username" size="12"><br/>
Your Score is : <span id="yourscore">5000</span><br/>
<button id="submitscore">Submit Score</button>
在该提交文件中,使用此:
if(isset($_REQUEST['score'])||isset($_REQUEST['username']))
{
$username = $_REQUEST['username'];
$value = $_REQUEST['score'];
var_dump($value);
//Your Insertion/Updation Databse Script
}
答案 1 :(得分:0)
定义一个设置变量的函数。请务必事先定义变量,以便可以在函数
之外访问它function ajaxCall() {
alert("To AJAX: the value is: " + value);
var response_value; // define here or you won't be able to access it outside of success: f()
$.ajax({
type: "POST",
url: "handler.php",
data: {'value' : value},
success: function(response) {
response_value = response;
}
}
);
}
另请注意function() {}
之后不要使用分号。 Sublime Text会这样做,但语法仍然不正确。
编辑:我建议您更改PHP文件以直接输出JSON文件。 这样做时需要考虑的事项:
header('Content-Type: application/json; charset=utf-8');
$result_array
)$json_string = json_encode($result_array); $json_string = utf8_encode($json_string);
echo($json_string);
dataType: json
添加到$ .ajax()config