将对象的Jquery数组传递到php数组中


Passing a Jquery array of objects into a php array

我在jQuery中有一个数组,我正试图使用Post:将其转换为PHP数组

$.post("http://www.samepage.com", {final_slip: JSON.stringify(final_slip)});

当我把这个动态创建的数组"final_slip"传给它时:

[final_bet_game { final_user_id="1",  final_game_id="1",  final_game_type="spread_2",final_price="10", final_odds="1.8"},  final_bet_game { final_user_id="2",  final_game_id="3",  final_game_type="spread_2",final_price="1", final_odds="2.8"},  final_bet_game { final_user_id="3",  final_game_id="14",  final_game_type="spread_32",final_price="140", final_odds="1.8"},  final_bet_game { final_user_id="4",  final_game_id="1",  final_game_type="spread_2",final_price="10", final_odds="2.8"}, ]

我得到这个php输出:

$data =  $_POST['final_slip'];
print_r ( $data);
[{'"final_user_id'":'"1'",'"final_game_id'":'"1'",'"final_game_type'":'"spread_2'",'"final_price'":'"211'",'"final_odds'":'"1.8'"},{'"final_user_id'":'"1'",'"final_game_id'":'"2'",'"final_game_type'":'"spread_2'",'"final_price'":'"212'",'"final_odds'":'"1.8'"},{'"final_user_id'":'"1'",'"final_game_id'":'"parlay'",'"final_game_type'":'"'",'"final_price'":'"021'",'"final_odds'":'"'"}] 

我试着使用json_decd,但没有得到任何结果。如何将其转换为可用的php数组?我使用ajax会更好吗?

$.post("http://www.samepage.com", {myJsonString: JSON.stringify(myJsonString)});

但当我尝试用PHP访问它时,我没有看到任何结果。

告诉您还有另一个问题-PHP没有报告错误。你想打开error_reporting

在这种情况下,可能的原因是您的数据到达$_POST数组,而$myJsonString没有定义(自PHP 5.3.0以来,参数的自动定义一直不推荐使用,自PHP 5.4.0以来不再可用)

你要么做

if (array_key_exists('myJsonString', $_POST)) {
    $myJsonString = $_POST['myJsonString'];
} else {
    die("myJsonString not in _POST");
}

或者尝试直接

$result = json_decode($_POST['myJsonString'], true);

问题是需要去掉outout中的反斜杠:

  $result = $_POST['json_string'];  
  $test =  urldecode(str_replace("''","",$result));  
  $test2 = (json_decode($test,true));
  print_r($test2);