在jquery中发送多个数据

Ali*_*man 1 javascript php jquery json

我有这个代码用于发送数据

  var test={imagename:"apple.jpg",x:"13",y:"33"};

  $.ajax({
 type: "POST",
     url: "some.php",
     data: test,
     success: function(response){
    console.log(response);
    }
   });
Run Code Online (Sandbox Code Playgroud)

但现在我想发送多个数据到php.My php端代码是这样的

print $_POST['imagename'];
Run Code Online (Sandbox Code Playgroud)

我想到这样的方法 var test={imagename:"apple.jpg|hen.jpg",x:"13|44",y:"33|22"}; ,$_POST['imagename']然后在php上获取然后根据它分裂它,|但我不喜欢它的语义方法.
1 - 有没有人知道更好的解决方案?
2 - 请提供javascript,jquery和php代码以供回答.
3-最后一个问题是这个符号叫json var test={imagename:"apple.jpg",x:"13",y:"33"};
谢谢

pim*_*vdb 7

数组是这里最有意义的解决方案 - 在JavaScript中是这样的:

var data = [
    {imagename:"apple1.jpg", x:"13", y:"33"},
    {imagename:"apple2.jpg", x:"51", y:"84"},
    {imagename:"apple3.jpg", x:"79", y:"57"}
];
Run Code Online (Sandbox Code Playgroud)

发送者:

$.ajax({
     type: "POST",
     url: "some.php",
     data: {data: data},
     success: function(response){
         console.log(response);
     }
 });
Run Code Online (Sandbox Code Playgroud)

在PHP中你可以得到它们:

<?
    print_r($_POST['data']); // dumps an array

    $filename1 = $_POST['data'][0]['filename']; // filename of item #1
?>
Run Code Online (Sandbox Code Playgroud)

最后,var test={imagename:"apple.jpg",x:"13",y:"33"};只不过是一些JavaScript代码.它不是 JSON.虽然JSON看起来像JavaScript(JS甚至代表JSON中的JavaScript),但它只不过是你发送的字符.JSON是一种传输数据的格式.一旦你"解压缩"它(用JavaScript或PHP),它就不再被称为JSON了.