php - 发布和解析从 JQuery 发送到 PHP 的数据

标签 php javascript jquery ajax request

我正在尝试使用 JQuery 将类似于下面的数据结构传递给 php 脚本:

{
  "shopping":
    [
      {
         "type": "online",
         "mood": 9 
      },
      {
         "type": "mood",
         "mood": 4
      }
    ],
   "researching":
     [
      {
         "type": "online",
         "mood": 3 
      },
      {
         "type": "library",
         "mood": 1
      }
     ]
}

JSON 中的数据根据​​用户操作的表单和 slider 而变化,然后 JSON 通过提交按钮异步发送。我无法弄清楚如何使用 JQuery 提交此请求,以及如何让 PHP 解析它。我想使用 POST 方法发送此数据。现在,我正在使用:

$.post('server/dataInput.php',submissions, function(data){
    console.log(data);
});     

提交是 JSON 对象,但这似乎不起作用。我也不知道我将如何在 PHP 端解析这个 JSON。

最佳答案

如果您使用的是 jquery 1.4.0+,则不需要 json_decode。您的数据将以数组形式在 PHP 中接收。

示例:

JS 片段:

var testData = {
    "shopping": [
      {
         "type": "online",
         "mood": 9 
      },
      {
         "type": "mood",
         "mood": 4
      }
    ],
    "researching": [
      {
         "type": "online",
         "mood": 3 
      },
      {
         "type": "library",
         "mood": 1
      }
    ]
};

function sendTest() {
    $.post('test.php', testData, function(data) { console.log(data); });
}

调用sendTest...

测试.php:

<?php

var_dump($_POST);

你的成功函数将显示 test.php 输出的内容:

array(2)
{
  ["shopping"]=> array(2)
  {
    [0]=> array(2)
    {
      ["type"]=> string(6) "online"
      ["mood"]=> string(1) "9"
    }
    [1]=> array(2)
    {
      ["type"]=> string(4) "mood"
      ["mood"]=> string(1) "4"
    }
  }

  ["researching"]=> array(2)
  {
    [0]=> array(2)
    {
      ["type"]=> string(6) "online"
      ["mood"]=> string(1) "3"
    }
    [1]=> array(2)
    {
      ["type"]=> string(7) "library"
      ["mood"]=> string(1) "1"
    }
  }
}

所以,一切都开箱即用! :)

关于php - 发布和解析从 JQuery 发送到 PHP 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780935/

相关文章:

php - 使用 PHP 将 JSON 解析为 MySQL

php - Geo Coding Address - 获取某个地址的分区(Google API)

javascript - 提交表单时未调用 jQuery .submit()

javascript - Reddit API - API 与附加 .json 和获取首页信息之间的区别

javascript - 所有属性都设置为最后一个循环迭代值[为什么?]

php - 比较两个逗号分隔字符串时在 MySQL 中查找匹配项?

php - SQL Server 的 ODBC 驱动程序 18]SSL 提供程序 : [error:1416F086]

javascript - 我不知道为什么在我的案例中 JS 和 Go 之间没有很大的性能差异

javascript - 使用JS将文本框值放入URL中

javascript - 替换页面加载时的默认 WYSIWYG 引擎