0
我正在制作注册表单并通过ajax提交数据并通过接收发布的数据$ input = json_decode(file_get_contents(“php:// input”));无法通过AJAX获取表单发布JSON对象数据
服务器上未收到任何值,返回null作为响应。
这是我的AJAX代码: 在提交表单这个函数被调用,并接收所有输入在FORMDATA对象
function register() {
var formData={
h_no:$('input[name=h_no]').val(),
h_name:$('input[name=h_name]').val(),
total_rooms:$('input[name=total_rooms]').val(),
total_blocks:$('input[name=total_blocks]').val(),
h_id:$('input[name=h_id]').val(),
pwd:$('input[name=pwd]').val(),
c_pwd:$('input[name=c_pwd]').val(),
}
console.log(formData);
$.ajax({
type:'POST',
url:'../api/hostels/register.php',
dataType: 'json',
data:formData,
success:function(data) {
console.log(data);
}
});
}
这是我PHP code
: 在这里,我收到JSON数据和解码它处理并返回JSON响应返回的这个
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
$input = json_decode(file_get_contents("php://input"));
/* application code is written here */
echo json_encode($input);
输出快到空
由于属性'dataType:json' __并不意味着您将json发送到服务器。 –
那么我该如何发布这个json到服务器 –
作为一个简单的数组发布到服务器的数据。例如,使用'$ _POST'。顺便说一句,你的客户端上没有任何json。你有一个javascript对象,它不是json。 –