2017-06-15 81 views
-1

我想從表單中獲取信息,並將其AJAX到一個PHP文件,將其保存到csv文件,但由於某種原因,php文件正在接收帶有空字段的JavaScript對象,即使它們出現填補了控制檯AJAX Javascript對象到PHP不工作

這裏是我的代碼看起來是這樣的:

var contact_info_list = {company_name: "", contact_name: "", email: "", phone: ""}; 

contact_info_list被填充在用戶與形式的互動,然後我就用

$.ajax({ 
url: 'grab_contact_info.php', 
type: 'POST', 
data: JSON.stringify(contact_info_list), 
dataType: 'json' 
}) 

然後在這裏是我的PHP代碼,我抓住那個對象

$contact_info = json_decode(file_get_contents('php://input'), true); 

是否有人可以告訴我,我在這裏失蹤?

回答

0

嘗試data: contact_info_list,

$.ajax({ 
    url: 'grab_contact_info.php', 
    type: 'POST', 
    data: contact_info_list, 
    dataType: 'json' 
}) 
+0

我相信'dataType'是Ajax響應數據類型,請求數據類型設置使用'contentType' –

+0

檢查https://stackoverflow.com/questions/14322984/differences-between-contenttype-and-datatype-in​​-jquery-ajax-function#14323012的解釋 –

0

你不啃老族 「JSON.stringify」 因爲你已經告訴阿賈克斯這是一個JSON文件。因此,這裏對我來說是什麼工作:

var contact_info_list = {company_name: "Test Co.", contact_name: "Jon Doe", email: "[email protected]", phone: "123456789"}; 

$.ajax({ 
    url: 'grab_contact_info.php', 
    type: 'POST', 
    data: contact_info_list, 
    dataType: 'json' 
}); 

然後在您的grab_contact_info.php文件,你得到的值是這樣的:

$company_name = $_POST["company_name"]; 
$contact_name = $_POST["contact_name"]; 
$email = $_POST["email"]; 
$phone = $_POST["phone"];