如何通过Jquery.post发布JSON多维数据



如何通过$.post发布JSON多维数据?例如,我有一个JSON格式的多维数组:

{
    "file":
    {
       "name" : "1024x768.jpg",
       "type" : "image/jpeg",
       "tmp_name" : "C:\wamp\tmp\php8F59.tmp",
       "error":0,"size":469159
    }
}

我将使用Jquery.post()发布JSON数据。

$.post("process.php",'{"name":"1024x768.jpg","type":"image/jpeg","tmp_name":"C:\wamp\tmp\php8F59.tmp","error":0,"size":469159}}',function(xml){
});

所以我可以使用print_r($_POST):在process.php中获得这个数组

Array
(
    [file] => Array
        (
            [name] => 1024x768.jpg
            [type] => image/jpeg
            [tmp_name] => C:wamptmpphpA1.tmp
            [error] => 0
            [size] => 469159
        )
)

这可能吗?

试试这个:

$.post("process.php",{"file":{"name":"1024x768.jpg","type":"image/jpeg","tmp_name":"C:\wamp\tmp\php8F59.tmp","error":0,"size":469159}},function(xml){
});

它应该在php端上为您提供所需的数组

编辑:这是从jQuery 1.4及以上开始工作的

$jsonArray ='{"file":{"name":"1024x768.jpg","type":"image/jpeg","tmp_name":"C:\wamp\tmp\php8F59.tmp","error":0,"size":469159}}';
$arr = JSON.stringify($jsonArray);
$.post("/url",{data:$arr},function(){
});

在php文件中执行

$json = json_decode($_POST['data']);
print_r($json);

编辑

也许这会有所帮助,但我还没有测试过。。。

var file=[];
file["name"]="1024x768.jpg";
file["type"]="image/jpeg";
file["tmp_name"]="C:wamptmpphpA1.tmp";
file["error"]="0";
file["size"]="469159";

var myObject = new Object();
var enumm=["name","type","tmp_name","error","size"];
function getEnum(index){
    return enumm[index];
}

$.each(file,function(i,j){
myObject[getEnum(i)]=file[getEnum(i)];
});

$.post("/url",{data:$.param(myObject)},function(xml){
});

在php端执行

$json = parse_str($_POST['data'], $data);
print_r($json);

相关内容

  • 没有找到相关文章