【发布时间】:2013-07-27 17:24:51
【问题描述】:
我想使用 AJAX 向 PHP 发布一个数组,并在成功时将值返回给 JavaScript。这是我的代码。
JavaScript:
$(document).ready(function(){
$.ajax({
type: "POST",
url: "phparray.php",
data: {
array1: phparray
},
success: function(data){
alert("success");
alert(data);
}
});
});
HTML:
<html>
<head>
<script type="text/javascript" src="jquery-2.0.2.js"></script>
<script>
var phparray = jQuery.makeArray();
for(var i=0; i<10 ; i++){
phparray.push(i);
}
</script>
<script type="text/javascript" src="phparraypost.js"></script>
</head>
<body>
</body>
</html>
PHP:
<?php
$n=$_POST['array1'];
echo $n;
?>
我得到的数据说
<br /> <b>Notice</b>: Array to string conversion in <b>C:\xampp\htdocs\php\phparray.php</b> on line <b>4</b><br /> Array
我不知道它可能有什么问题。
HTML、PHP 和 JavaScript 代码位于不同的文件中。
【问题讨论】:
-
那么什么不完全正常。除了使用jQuery创建一个空数组之外,似乎没有什么问题?
-
客户端 (javascript) 和服务器 (php) 之间的“路径”是 HTTP。 Http 不关心数组,只接受字符串。在您的 javascript 中,您应该将数组格式化为字符串(逗号分隔,JSON)并在服务器端解析它以获取数组。
-
@Joren - jQuery 会为你做到这一点。
-
@adeneo 这就是为什么我没有说是作为答案而是作为评论。
-
我返回的数据显示“
注意:C:\xampp\htdocs\php\phparray.php 中的数组到字符串转换 b> 在 4
Array" 行,我对此一无所知。
标签: php javascript ajax arrays