php - 在ajax中传递JSON数据并在数据库查询中使用它

标签 php mysql ajax json

我想传递存储在 $.getJSON 中的本地存储中的“user_data”并执行 php mysql 查询。我正在使用的代码是:

<script>
 data = localStorage.getItem("user_data");

   $(document).ready(function(){

  $.getJSON("query.php"  , {user: data},

    function(data){ /*do something*/

  });

  });
  </script>

查询.php

<? php
if( $_REQUEST["user"] )
{
    $user = $_REQUEST['user'];

    $user_data = json_encode($user).id;

    $userid = $user_data.id;

    $username = $user_data.name;

    /*Database connection*/
    include_once("php_includes/db_conx.php");


$sql = /*database query*/;


?>

基本上,我将 user_data 作为 $.getJSON 中的字符串传递,然后使用 json_encode 将其更改为 JSON 数据,并使用它来获取用户的不同属性。但是我在 query.php 中没有正确获取 $userid 和 $username?谁能告诉我如何发送 JSON 类型数据并在 php 中使用它。

最佳答案

基本上,当您从 localStorage 读取数据时,您必须先反序列化数据,然后再将其传递给 PHP:

<script>

 data = JSON.parse( localStorage.getItem("user_data") );

 $(document).ready(function(){

  $.getJSON("query.php"  , {user: data},

    function(data){ /*do something*/

  });

 });
</script>

关于php - 在ajax中传递JSON数据并在数据库查询中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210002/

相关文章:

php - 使用 SQL 查询获取团队排名

php - 为什么关心 mysqli_stmt::bind_param 中的类型?

php - Grep $_SESSION ['id' ] 仅在 php 文件中

mysql - Group By后获取MySQL中的日期范围

具有多条记录的 MySQL CREATE FUNCTION 结果给出错误 #1172

php - 运行 php artisan db :seed more than one and continue for duplicate keys insert

更新时 Mysql 过程语法错误

javascript - 使用ajax从文本框中的php变量获取特定值

ajax获取对Office365 REST Api的请求失败CORS?

javascript - WebService C# (Ajax) 中缺少参数