2017-06-15 41 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"];