PHP的AJAX Javascript对象不起作用
Posted
技术标签:
【中文标题】PHP的AJAX Javascript对象不起作用【英文标题】:AJAX Javascript object to PHP not working 【发布时间】:2017-11-18 11:06:21 【问题描述】:我正在尝试从表单中获取信息并将其 AJAX 到 php 文件中,然后将其保存到 csv 文件中,但由于某种原因,php 文件正在接收带有空字段的 javascript 对象,即使它们看起来已填充控制台
我的代码如下所示:
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);
有人可以告诉我,我在这里缺少什么吗?
【问题讨论】:
【参考方案1】:您不需要“JSON.stringify”,因为您已经告诉 ajax 这是一个 json 文件。所以这对我有用:
var contact_info_list = company_name: "Test Co.", contact_name: "Jon Doe", email: "jondoe@test.com", 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"];
【讨论】:
【参考方案2】:试试data: contact_info_list,
:
$.ajax(
url: 'grab_contact_info.php',
type: 'POST',
data: contact_info_list,
dataType: 'json'
)
【讨论】:
我相信dataType
是用于ajax响应数据类型,请求数据类型是使用contentType
设置的
查看***.com/questions/14322984/…的解释以上是关于PHP的AJAX Javascript对象不起作用的主要内容,如果未能解决你的问题,请参考以下文章
通过 Ajax (WooCommerce) 加载 single_product_content 时变体 Javascript 不起作用
使用 jQuery AJAX 向所需的 PHP POST 请求处理程序提交表单不起作用