$ .ajax $ _POST到php返回空数组

时间:2018-10-10 10:53:10

标签: php jquery post

我试图通过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,并且表单数据正确。

0 个答案:

没有答案