繁体   English   中英

使用Ajax获取javascript变量的值?

[英]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');
  • 生成一个PHP数组或单个变量(例如$result_array
  • 使用PHP将其编码为utf-8 JSON: $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);
  • 告诉jQuery您正在使用JSON:将dataType: json添加到$ .ajax()配置中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM