我想将数组myWorkout传递给'play_workout.php'。 我想'play_workout.php'打开并显示myWorkout的内容(本例)。 (一旦我发现这是有效的,我将解析myWorkout中的数据并将其写回数据库)。 我没有在firebug中出现任何错误,但是play_workout没有被打开,也没有捕获数组对象myWorkout。
我很欣赏第二眼。 一如既往地谢谢!
page workout_now.php
<div id="playworkout"><button onClick="playWorkout()">Play Workout</button></div>
JAVASCRIPT
function playWorkout(){
var arr = $("#dropTargetframe > li").map(function(){
return $(this).attr('data-id');}).get();
var myRoutine = arr;
var myWorkout = new Array();
for (var i in myRoutine){
if (myRoutine[i])
myWorkout.push(myRoutine[i]);
}
//array appears like ["4", "5", "1", "4"]
JSON.stringify(myWorkout);
encodeURIComponent(myWorkout);
var url = "http://localhost/RealCardio/play_workout.php";
$.get(url, myWorkout);
page play_workout.php
<?php
...
$arrayWorkout = json_decode($_REQUEST['myWorkout']);
print_r($arrayWorkout);
...
?>
答案 0 :(得分:1)
假设,在你的评论中,数组元素不包含任何特殊字符,只是数字,只需执行
var myWorkoutPost=myWorkout.join('x');
以你想要的方式将它传送到服务器(形成隐藏字段,AJAX,...),并在PHP中执行
$myWorkout=explode('x',$_REQUEST['myWorkoutPost']);
答案 1 :(得分:1)
PHP和Javascript都使用JSON编码,所以我想说最好的方法是对数组进行JSON编码,然后将其作为隐藏字段POST到PHP页面并使用JSON解码。
答案 2 :(得分:0)
将此数组编码为JSON,将其发送到php脚本并使用$ _POST接收它。 最后,在php脚本中解码JSON。
答案 3 :(得分:0)
几乎每个结构化值的工作流程99%的时间。
JSON.stringify([1,2,3])
它会为您提供一个字符串"[1,2,3]"
。 encodeURIComponent("[1,2,3]")
对其进行编码,您将拥有类似"%5B1%2C2%2C3%5D"
在php中你会这样做:
- $arrayOfValues = json_decode($_REQUEST['name_of_parameter']);
- print_r($arrayOfValues);
通常,您需要包含JSON库以支持旧浏览器。有关JSON的更多信息。