我有一个奇怪的问题。昨天一切正常。
我有一个简单的php文件,如下所示:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo json_encode(['messageType' =>
'success','message'=>$_POST['key']);
die();
}
使用Ajax查询的js文件:
$.ajax({
dataType: "json",
type: "POST",
url: 'get.php',
data: {key: 'a'},
success: function(data) {
alert(data.message)
},
error: function(data) {
alert ('error');}
});
当字段'key'设置为1个字符(例如'a')时,我从服务器收到错误500。但如果我把它改成至少3个字符,一切都很好。
问题在几个独立的服务器上突然发生。
答案 0 :(得分:0)
错误500表示您的PHP端点应该有问题。 首先删除分号并尝试它是否有效:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo json_encode(['messageType' =>'success','message'=>$_POST['key']);
die();
}
答案 1 :(得分:0)
如果没有$ _SERVER ['REQUEST_METHOD']变量可用(取决于服务器),您将从一开始就获得500。由于语法原因,json_encode也无法正常工作。
<?php
if (isset($_POST['key'])) {
echo json_encode(array('messageType' => 'success','message'=>$_POST['key']));
die();
}
?>