jQuery $ .post()和PHP问题

时间:2013-08-03 21:53:51

标签: php javascript jquery html

它没有更新,我想念我做错了什么。使用HTML,jQuery和PHP。所有代码都发布在下面。

我要做的是允许用户更改“客户端”种子以及何时更改它的更新。在它的显示。所有这一切都是从一个回复它的文件每100ms刷新一次。那里没有问题。

PHP代码:

<?php
session_start();
include_once('db.php');

if(isset($_POST['action'])) {
    switch($_POST['action']) {

        case 'get_client':
            echo json_encode(array('result' =>  $_SESSION['client']));
        break;

        case 'modify_client':
            if(isset($_POST['client']) && strlen($_POST['client']) == 6 && is_numeric($_POST['client']))  {
                $_SESSION['client'] = $_POST['client'];
                echo json_encode(array('result' => true));

              $secret = 123;
                    $_SESSION['server'] = hash('sha512', $_SESSION['roll'] . $_SESSION['client'] . $secret );
            }

            else {
                echo json_encode(array('result' => false));
            }
        break;
    }
}
?>

的Javascript / jQuery的:

<script type="text/javascript">
        $.post('./php/show_client.php', { action: 'get_client' }, function(result) {
            var result = JSON.parse(result);
        })
    });
    $("#client_seed_modify").on("click", function() {
        $.post('./php/show_client.php', { action: 'modify_client', client: $("#client_seed").val() }, function(result) {
            var result = JSON.parse(result);
            if(result ) {

                if(result.result) {
                    alert('Your Client Seed has been changed.  This has also changed the server seed.  Please note that you have the ability to change your client seed freely, but regardless of whether or not you decide to, it does NOT stay the same every roll.');
                }
            }
        });


</script>

HTML:

  <a>Current Client Seed: <span class="clientShow" style=""> </span></a>
  <p class="field">
    <input type="text" placeholder="Change your Client Seed" name="client" id="cient_seed" class="client_seed">
  </p>
  <p class="field">
    <input type="submit" value="Change Client Seed" style="width: 360px;" name="client_seed_modify" id="client_seed_modify">
  </p>

1 个答案:

答案 0 :(得分:0)

您将服务器端代码和客户端代码混淆。 PHP在服务器上执行,这意味着任何指向资源的链接都应该是服务器上实际文件所在位置的文件路径。 Javascript / JQuery是客户端代码,意味着它在用户的浏览器中运行,因此任何链接都应该是URL而不是文件路径。

而不是像现在这样使用服务器上的本地文件路径:

$.post('./php/show_client.php' ...

传递给$.post()的网址应该是访问该PHP脚本的网址。

$.post('mysite.com/directory/show_client.php' ...