1

我正在尝试将一组 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
}

这是我的PHP:

这将返回 Object 对象(如上图所示)

$form_elements=$_POST['form_elements_array']; 

这将返回 null

$form_elements=json_decode($_POST['form_elements_array']);

有任何想法吗 ?

谢谢你

4

3 回答 3

1
document.getElementById('form_elements_array').value=JSON.stringify(form_elements);
于 2013-10-18T06:24:42.903 回答
1

你可以粘贴输出字符串吗?

或者

你可以使用 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);

现在接收器页面上的 php 代码

于 2013-10-18T06:38:40.023 回答
0

你可以粘贴输出字符串吗?

或者

你可以使用 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);

现在接收器页面上的 php 代码

        echo $_POST['name']; // get your data with POST method
于 2013-10-18T06:43:17.497 回答