我想将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();}
任何解决方案,建议都将不胜感激!
答案 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);
。
我认为它可能对你有所帮助。