jQuery AJAX POST数据无法访问PHP

时间:2018-02-27 21:21:33

标签: php jquery ajax post

我有一个AJAX调用,它没有从data参数向服务器发送信息。我确认它被认为是一个POST请求,下面是我的PHP代码。你会注意到我的var_dump($ _ POST)不包含'myData'数据。我不知道从哪里开始。

的JavaScript

$.ajax({
    method : 'POST',
    contentType: 'application/json; charset=utf-8',
    url : myURL,    
    data : {
        'myData' : 'myData'
    },  
    async : true,
    success: function (results) {
    console.log('here are the results: ' + results);
},
error: function (req, msg, obj) {
  console.log('An error occured while executing a request');
  console.log('Error: ' + msg);
}
});

PHP

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
echo var_dump($_POST);
}

CONSOLE.LOG

here are the results: array(1) { ["phpURI"]=> unicode(33) "php/main.php?
function=myFunction" } 

谢谢!

1 个答案:

答案 0 :(得分:-1)

由于Content-Type: application/json; charset=utf-8标题,您的AJAX请求正在发布JSON数据。

如果您只是删除该行,$.ajax默认为application/x-www-form-urlencoded; charset=UTF-8,这会导致PHP将其作为键值对放入$_POST