使用JQuery将json数据从Javascript传递到PHP

时间:2017-07-21 20:22:52

标签: javascript php jquery json

我想将json数据从我的Javascript脚本传递给PHP,我很挣扎。

首先是代码:

var d = new Date(),
    DayOfWeek = d.getDay(),
    Actual_Day = d.getDate(),
    Month = d.getMonth() + 1;
if (Month < 10) {
    Month = '0' + Month;
}
var Year = d.getFullYear();
var Date = Year.toString() + Month.toString() + Day.toString();
var Hour = d.getHours(),
    Minutes = d.getMinutes();

var data = {
    "YearKey": Year,
    "MonthKey": Month,
    "Actual_DayKey": Actual_Day,
    "DayOfWeekKey": DayOfWeek,
    "DateKey": Date,
    "HourKey": Hour,
    "MinutesKey": Minutes

};

jQuery.ajax({
    type: "POST",
    url: 'index.php',
    type: 'json',
    data: data,
    success: function(data) {
        console.log('success!');

    }
});

在我的PHP脚本中,我试图确定我有一个值,但似乎不是这样:

if (isset($_POST['YearKey'])) {echo $_POST['YearKey']; exit();}

任何解决方案,建议都将不胜感激!

4 个答案:

答案 0 :(得分:1)

在您的jQuery中,type:ajax表示您将函数准备为ajax 响应

在你的情况下,你需要发送一个JSON

将该行放在客户端代码中

data: {data:JSON.stringify(data)}
// will send the JSON string with the request in a parameter called data
服务器上的

解码

<?php
$data = json_decode($_POST['data']);

答案 1 :(得分:0)

实际上非常简单。为了从AJAX请求将变量传递到PHP文件,您需要编辑请求的URL部分。例如,如果您的网址如下所示:

url: "name_of_file.php/?value=VARIABLE-STUFF&more=VARIABLE-STUFF&etc=etc"

可以在PHP文件中访问value,more等的变量值。然后使用:

$variable_name = $_GET['value'];

将变量'value'存储到'variable_name'以便在PHP文件中使用,等等,以便传递给PHP文件的任何其他变量。对于您的情况,我建议只将整个数据对象传递到PHP文件并从那里开始工作。

url: "index.php/?object=" + data

然后在PHP文件中执行:

$object_name = $_GET['object'];

现在,HTML文件中的数据对象可以在变量$ object_name下的PHP文件中使用。

答案 2 :(得分:0)

file_get_contents(php://input) 

获取原始POST数据,如JSON对象,无法解码为$ _POST。

<?php
$data = var_dump(file_get_content('php://input'));

答案 3 :(得分:-1)

您需要检查所有具有值的发布数据

所以请查看console.log(data);

我认为它可能对你有所帮助。