3

JavaScript/JQuery

var arr=[];

$('.element').each(function(i)
{
    arr.push({"id":i,"value":$(this).attr('data-value')});
});

$.get('/json.php?arr='+arr,function(result)
{
    alert(result);
});

PHP

<?php

$j = json_decode($_GET['arr'], true);

foreach($j as $k => $v)
{
    echo $v['id'].':'.$v['value'].'<br />';
}

?>

問題

/json.php?arr=[object Object],[object Object]しかし問題は、URL がではなく のように見えることです/json.php?arr=[{"id":1,"value":"value 1"},{"id":2,"value":"value 2"}]。オブジェクトを文字列に変換する必要がありますか? しかし、JQuery 以外の別のライブラリを使用したくありません。これは可能ですか?:/

4

2 に答える 2

6

Try JSON.stringify

$.get('/json.php?arr='+JSON.stringify(arr),function(result)
于 2012-06-16T22:56:00.523 に答える
2

If you aren't tied to the idea of passing if via JSON, you can provide it in the data part of the jQuery request:

$.get( url, data, callback );

And then retrieve it later:

foreach( $_POST as $key => $value ){
   //....
}
于 2012-06-16T22:54:39.887 に答える