Javascript 无法将json数据从html发送到php

Javascript 无法将json数据从html发送到php,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我无法使用jquery将JSON数据从HTML发送到PHP,并且总是在console.log上显示失败状态。请检查我的密码 jsonObjects.domain = client_domain; jsonObjects.pkg = client_package; jsonObjects.company_name = client_company; jsonObjects.company_email = client_email; jsonObjects.personal_name = psn_n

我无法使用jquery将JSON数据从HTML发送到PHP,并且总是在console.log上显示失败状态。请检查我的密码

jsonObjects.domain = client_domain;
jsonObjects.pkg = client_package;
jsonObjects.company_name = client_company;
jsonObjects.company_email = client_email;
jsonObjects.personal_name = psn_name;
jsonObjects.personal_phone = psn_phone;
jsonObjects.personal_email = psn_email;

var JsonPush = new Array();
JsonPush.push(jsonObjects);

var JsonArray = JSON.stringify(JsonPush);

$.ajax({
    type: "POST",
    url: 'order.php',
    data: JsonArray,
    dataType: 'json',
})
.done(function (data) {
    console.log('done');
    console.log(data);
}).
fail(function (data) {
    console.log('fail');
    console.log(data);
});
Order.php
文件

<?php 

$decoded = json_decode($_POST['data']);

var_dump($decoded);
?>

您不需要先进行字符串化,只需将其发布到一个键控对象中,然后通过如下键进行访问

 let postData = { object: jsonObjects };

    $.ajax({
        type: "POST",
        url: 'order.php',
        data: postData,
        dataType: 'json',
    })
然后在php中:

$jsonObjects = $_POST['object'];

注意:您不通过对象本身的名称访问posted变量,而是通过posted对象内的键来访问该变量,您在AJAX调用中没有
数据
参数。应该是:

data: { data: JsonArray },
但实际上根本不需要使用JSON。您只需将对象指定为
数据:
选项,其属性将成为
POST
参数

data: jsonObjects,

然后在PHP中,您可以访问
$\u POST['domain']
$\u POST['pkg']
,等等。

失败的具体原因是什么?编辑您的帖子以包含错误消息如果失败,那么问题几乎肯定在
order.php
中。您需要发布该代码。