我试图通过AJAX调用通过$ _POST向php发送一个简单的json对象。但是我所做的一切都是返回一个空数组。过去的帖子建议使用“ file_get_contents(x)”,“ if(isset(x)){}”,但似乎无济于事。
print_r($_POST);
$data = file_get_contents('php://input');
echo "line before";
print_r(json_decode($data, true));
//return json_decode($data);
if (isset($_POST['x']))
{
$myfile = $_POST['x'];
print_r($myfile);
print"hello paul, here I am";
} else {
print"something is rotten in the country of Denmark";
}
我试图以多种方式读取和访问数据。第一个print_r返回一个空数组,第二个print_r甚至不触发,并且if失败。
在Javascript方面,我尝试了使用和不使用JSON_stringify()来发送数据的多种方法。我尝试发送字符串而不是JSON,以及在数据流中发送JSON数据。
$.ajax({
type: 'POST',
url: 'admo.php/',
data: x,
//datatype: "JSON",
success: function() {
console.log("Success: " + x)
window.open("admo.php");
},
error: function(x) {
console.log("Error: " + x)
console.log("you errored out....some where");
}
});
数据x可以是任何json文件,仅作为示例
{"AlarmClockTimes": ["10:24", "5:13", "14:43", "17:00"],
"RadioStatus": "off",
"RadioStations": ["wamu", "bluegress", "soil", "comedy"]}
我打开窗口,并打印console.log,它告诉我它正在发送,但是PHP未接收。任何帮助将不胜感激。
根据有关网络和HTTP响应代码的建议,它们都很好。使用chrome Developer上的网络标签时,我看到HTTP响应为200,并且表单数据正确。