我有一个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" }
谢谢!
答案 0 :(得分:-1)
由于Content-Type: application/json; charset=utf-8
标题,您的AJAX请求正在发布JSON数据。
如果您只是删除该行,$.ajax
默认为application/x-www-form-urlencoded; charset=UTF-8
,这会导致PHP将其作为键值对放入$_POST
。