Javascript 如何在没有AJAX的情况下向服务器发送JSON数组

Javascript 如何在没有AJAX的情况下向服务器发送JSON数组,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我正在尝试将JSON对象数组发送到 使用隐藏字段的PHP服务器 但我在服务器中得到的只是一个字符串 这是我的javascript function CreateArrayOfJSON() { var all_childrens = $('#form_div').find('*');//get all root element childrens var form_elements = { elements: [] };

我正在尝试将JSON对象数组发送到

使用隐藏字段的PHP服务器

但我在服务器中得到的只是一个字符串

这是我的javascript

function CreateArrayOfJSON()
{
      var all_childrens = $('#form_div').find('*');//get all root element childrens
      var form_elements = {
            elements: []
        };
            for(var i=0;i<all_childrens.length;i++)
            {
               var id='#'+$(all_childrens[i]).attr('id');         //get id
               var style_attr=$(all_childrens[i]).attr('style'); //get style inline
               var classes=$(all_childrens[i]).attr("class");

               form_elements.elements.push
               ({ 
                    "id"         : id,
                    "style_attr" :style_attr,
                    "classes"    :classes
               });
            }
            document.getElementById('form_elements_array').value=form_elements;//fill hidden field
}
这将返回null

$form_elements=json_decode($_POST['form_elements_array']);
有什么想法吗


谢谢

您能粘贴输出字符串吗

document.getElementById('form_elements_array').value=JSON.stringify(form_elements);
或者

您可以使用Curl进行相同的操作

    $url = "URL Where you want to send data";
    $ch = curl_init();
    $attachment = array(
    'name' => 'Your first field',
    'link' => 'Second Field',
    'description' => 'description here',
);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
    $result = curl_exec($ch);
    curl_close($ch);
    $url = "URL Where you want to send data";
    $ch = curl_init();
    $attachment = array(
    'name' => 'Your first field',
    'link' => 'Second Field',
    'description' => 'description here',
);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
    $result = curl_exec($ch);
    curl_close($ch);
现在,在receiver页面上显示php代码
您能粘贴输出字符串吗

或者

您可以使用Curl进行相同的操作

    $url = "URL Where you want to send data";
    $ch = curl_init();
    $attachment = array(
    'name' => 'Your first field',
    'link' => 'Second Field',
    'description' => 'description here',
);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
    $result = curl_exec($ch);
    curl_close($ch);
    $url = "URL Where you want to send data";
    $ch = curl_init();
    $attachment = array(
    'name' => 'Your first field',
    'link' => 'Second Field',
    'description' => 'description here',
);

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
    $result = curl_exec($ch);
    curl_close($ch);
现在,在receiver页面上显示php代码

        echo $_POST['name']; // get your data with POST method

传递数组而不是对象。。。并序列化()它