当前位置: 首页 > 知识库问答 >
问题:

AJAX Javascript对象到PHP不工作

裘兴思
2023-03-14

我试图从表单中获取信息,并将其AJAX到PHP文件中,然后将其保存到csv文件中,但出于某种原因,PHP文件接收到带有空字段的Javascript对象,尽管这些字段在控制台中显示为已填充

var contact_info_list = {company_name: "", contact_name: "", email: "", phone: ""};
$.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个答案

杜海
2023-03-14

您不需要“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"];
 类似资料:
  • 问题内容: 我需要将PHP数组转换为json,但我没有得到我期望的结果。我希望它是一个可以轻松使用数字索引导航的对象。这是一个示例代码: 这就是我得到的 但是我想得到一个对象而不是数组: 谢谢 :) 问题答案: 你想。 顾名思义,该标志将json输出强制为一个对象,即使通常将其表示为数组也是如此。 您还可以删除一些更简洁的代码:

  • 本文向大家介绍php对象工厂类完整示例,包括了php对象工厂类完整示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php对象工厂类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《ph

  • 问题内容: 我试图使用Java将DO转换为DTO,并在开始编写自己的工具之前寻找自动化工具。我只是想知道是否有可用的免费工具。 问题答案: Dozer是Java Bean到Java Bean的映射器,可将数据从一个对象递归复制到另一个对象。通常,这些Java Bean将具有不同的复杂类型。 推土机支持简单的属性映射,复杂的类型映射,双向映射,隐式-显式映射以及递归映射。这包括映射集合属性,这些属性

  • 问题内容: 我正在尝试将JSON对象从Javascript / Jquery发送到PHP,并且在控制台中收到错误消息msg。我究竟做错了什么。我是JS和PHP的新手。 jQuery文件: PHP文件 问题答案: 菲尔(Phil)的出色回答,但自从OP标题说 从javascript( 不是jQuery )发送json对象到php 这是使用(原始)javascript的方法,以防万一有人寻找此方法:

  • 问题内容: 您能解释下一个有趣的行为吗? 让我们转换为数组。 结果: 好,财产变成 让我们将此数组转换为对象。 结果: 是一个对象。 问题是: 为什么要成为新对象的私有财产(不是)?PHP如何知道该数组是一个对象? 如果我定义相等的数组: 然后将其转换为对象: 我将获得具有两个 公共 属性的对象,并且与预期的一样: 问题答案: 数组键包含一个标记,该标记应为类测试的私有属性。 将脚本输出与以下内容

  • 问题内容: 我进行了登录,设置了一个带有估算电子邮件地址值的cookie,因此在global.php文件中,它使用以下命令存储用户数据数组: cookie尚未设置,我知道这是因为我做了一个测试文件: 它只是做了一个空白页。 登录代码(设置cookie的位置): 问题答案: 您必须先设置Cookie, 然后再 发送任何标头。 从手册: setcookie()定义要与其他HTTP标头一起发送的cook