通过php创建Javascript数组
在这件事上花了令人尴尬的几个小时后,我仍然找不出答案。我有一个Javascript/HTML程序,其中有一个很大的动态表,表的单元格中有很多按钮。我想在用户完成页面后将用户选择的按钮发送到数据库。然后,我将在接收php程序中使用它们来显示图形。我已经将按钮的所有值放入一个Javascript数组中,所以现在我想发送整个数组,然后在新程序中将它们用作Javascript数组。每次我尝试这个,都没有结果。下面是一个基于我在stackoverflow上发现的示例: 发送程序:通过php创建Javascript数组,javascript,php,arrays,Javascript,Php,Arrays,在这件事上花了令人尴尬的几个小时后,我仍然找不出答案。我有一个Javascript/HTML程序,其中有一个很大的动态表,表的单元格中有很多按钮。我想在用户完成页面后将用户选择的按钮发送到数据库。然后,我将在接收php程序中使用它们来显示图形。我已经将按钮的所有值放入一个Javascript数组中,所以现在我想发送整个数组,然后在新程序中将它们用作Javascript数组。每次我尝试这个,都没有结果。下面是一个基于我在stackoverflow上发现的示例: 发送程序: <html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<script>
var ourObj={};
ourObj.data="4";
ourObj.arPoints = [{'x':1, 'y': 2},{'x': 2.3, 'y': 3.3},{'x': -1, 'y': -4}];
$.ajax({
url: 'testb2.php',
type: 'post',
data: {"points" : JSON.stringify(ourObj)},
success: function(data) {
alert("success");
}
});
</script>
</html>
<?php>
// Test if our data came through
echo "starting";
if (isset($_POST["points"])) {
// Decode our JSON into PHP objects we can use
$points = json_decode($_POST["points"]);
// Access our object's data and array values.
echo "Data is: " . $points->data . "<br>";
echo "Point 1: " . $points->arPoints[0]->x . ", " . $points->arPoints[0]->y;
$servername = "localhost";
$username = "xxx";
$password = "yyy";
$dbname = "zzz";
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "
INSERT INTO FootprintAction(UserID, ActionValue, fpID)
VALUES (?, ?, ?);
";
if ($stmt = mysqli_prepare($conn, $sql)) {
mysqli_stmt_bind_param($stmt, "iss", $points->data, "1", "1");
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
} else {
//echo "no result from attempt to insert people into fpAction". "<br>";
//echo $sql;
}
}
?>
我希望在接收程序中得到与发送程序中相同的Javascript数组。
谢谢 您是否在成功处理程序中尝试了
console.log(data)
?这将打印PHP脚本中的所有stdout,让您echo
和var\u dump
查看$\u POST
数组中的内容。好的,首先,您的success
函数在$.ajax()中
call没有做任何事情来实际查看响应中返回的数据。在AJAX术语中,任何未失败的HTTP请求(例如500错误)都是“成功的”。因此,它将触发成功函数。这并不意味着你的电话做了任何接近你想要的事情。这只是意味着电话没有爆炸。而且根本不看这个数据
变量,你只是盲目地使用一个简单的JS警报来触发“成功”警报。所以“成功”只意味着联系有效。
actions[ 5] = new Array( "Install Photovoltaic (Solar) Panels","6.33","1020","33121","0","25","149.8","0","0","0","1","1","Photovoltaic (solar) systems allow you to produce green electricity on your own rooftop. Vendors often offer both purchase and lease options. ","3","1.5","10","5.75","0");