2017-10-01 37 views
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); 

輸出快到空

+0

由於屬性'dataType:json' __並不意味着您將json發送到服務器。 –

+0

那麼我該如何發佈這個json到服務器 –

+0

作爲一個簡單的數組發佈到服務器的數據。例如,使用'$ _POST'。順便說一句,你的客戶端上沒有任何json。你有一個javascript對象,它不是json。 –

回答

0

使用JSON.stringify(formData)來發布數據。