我在 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_decod,但没有得到任何结果。我怎样才能把它变成一个可用的 php 数组?使用 ajax 会更好吗?
最佳答案
$.post("http://www.samepage.com", {myJsonString: JSON.stringify(myJsonString)});
But when I then try to access it in PHP I am not seeing any results.
并且这告诉您还有另一个问题 - PHP 没有报告错误。您想要turn error_reporting
on .
在这种情况下,可能的原因是您的数据到达 $_POST
数组,并且 $myJsonString
未定义(自 PHP 5.3.0 起 automatic definition of parameters has been deprecated ,并且自 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);
关于javascript - 将 Jquery 对象数组传递到 php 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34186482/