[英]Using Ajax to get value of javascript variable?
长时间的stackoverflow用户,但第一次来此发布者! 我最近制作了一个非常简单的基于浏览器的小游戏,当我说简单时,我对此并不足够强调。
无论如何,整个游戏逻辑都在一个小的javascript文件中。 在该文件中,我有一个名为value的变量,它包含玩家得分。
允许用户在游戏过程中的任何给定时间单击“提交”,然后使用php脚本访问并写入其用户名,并希望很快将其分数添加到我的数据库中。
我遇到的问题而且我知道很多Ajax的新手都有,我如何将javascript变量值的值发送到处理将变量发送到数据库的php页面?
我已经阅读了很多,似乎无法正常工作。 因此,从头开始,假设我有一个运行中的javascript文件,其中的value变量包含分数。 如何使用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']);
只需使用这个
您的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
}
定义一个设置变量的函数。 确保预先定义变量,以便可以在函数外部访问它
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');
设置内容类型header('Content-Type: application/json; charset=utf-8');
$result_array
) $json_string = json_encode($result_array); $json_string = utf8_encode($json_string);
$json_string = json_encode($result_array); $json_string = utf8_encode($json_string);
echo($json_string);
dataType: json
添加到$ .ajax()配置中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.