我无法通过AJAX将会话存储数据发送到服务器

时间:2016-05-07 19:58:00

标签: javascript php ajax session-storage

我已将用户的ID存储在会话存储中。我需要使用ID执行操作,因此我使用AJAX将其传递给服务器,但数据未到达服务器。

AJAX: -

$(document).ready(function(){
  $('#coupon_code').hide();
  $('#coupon_status').hide();
  var id = sessionStorage.getItem('user_id');

  $('#generate').click(function(){
    $.ajax({
      type : "POST",
      dataType : 'json',
      url : 'http://127.0.0.1/ionic/generate.php',
      data : id,
      beforeSend : function(){
        console.log(sessionStorage.getItem('user_id'));
        console.log("data sent");
      },
      success : function(data){
        console.log(data);
        console.log(data.code);
        console.log(data.value);
      }
    });
  });
});

PHP脚本: -

<?php
require 'db_connect.php';
header('Access-Control-Allow-Origin: *');
$id = $_POST['id'];

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$string = '';

for ($i = 0; $i < 5; $i++) {
    $string .= $characters[mt_rand(0, strlen($characters) - 1)];
}
$ins = "INSERT INTO `coupon_code` (id,code,status) VALUES ('$id,'$string',1)";
$res_ins = mysqli_query($con,$ins);

if($res_ins)
{
    echo json_encode(array("status" => "done", "code" => $string,"value" => "1"));
    //echo $string;
}
else
{
    echo "NO";
}
?>

编辑: - 萤火虫的结果 enter image description here

1 个答案:

答案 0 :(得分:0)

你只是在json数据中发送值 - 你需要发送键值对 - 所以通过键你将获得服务器上的数据

这应该对你有用 - 你也可以调试firebug中的数据是什么去服务器

你需要更换 这一行data : id,

使用此行data : {'id' : id},

 $(document).ready(function(){
      $('#coupon_code').hide();
      $('#coupon_status').hide();
      var id = sessionStorage.getItem('user_id');

      $('#generate').click(function(){
        $.ajax({
          type : "POST",
          dataType : 'json',
          url : 'http://127.0.0.1/ionic/generate.php',
          data : {'id' : id},
          beforeSend : function(){
            console.log(sessionStorage.getItem('user_id'));
            console.log("data sent");
          },
          success : function(data){
            console.log(data);
            console.log(data.code);
            console.log(data.value);
          }
        });
      });
    });

插入查询中还有一个错误 -

$ins = "INSERT INTO `coupon_code` (id,code,status) VALUES ('$id,'$string',1)";

(')单引号未因'$ id

而关闭
$ins = "INSERT INTO `coupon_code` (id,code,status) VALUES ('$id','$string',1)";