将JavaScript数组传递给PHP
我在php文件中有这样一个列表:将JavaScript数组传递给PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在php文件中有这样一个列表: <ul id="alist"> <li>Item1</li> <li>Item2</li> <li>Item3</li> </ul> 在阅读了几篇关于使用json、ajax的文章后,我尝试了这一点,但没有成功。在我的js文件中: $.ajax({ type: "POST", url: "checklist.php", data:
<ul id="alist">
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
</ul>
在阅读了几篇关于使用json、ajax的文章后,我尝试了这一点,但没有成功。在我的js文件中:
$.ajax({
type: "POST",
url: "checklist.php",
data: { kvcArray : array},
success: function() {
alert("Success");
}
});
在我的PHP文件中:
<?php
$myArray = $_POST['kvcArray'];
var_dump($myArray)
?>
我得到了一个“null”的结果,非常感谢您的帮助。我在
宽度=屏幕宽度;
高度=屏幕高度;
如果(宽度>0和高度>0){
window.location.href=”http://localhost/main.php?width=“+width+”&height=“+height;
}否则
退出();
php
不确定我是否误解了这个问题,但这在我的计算机上运行良好(它记录了您的阵列数据): ---index.php---
- 项目1
- 项目2
- 项目3
var数组=[];
$(“#alis li”)。每个(函数(){
array.push($(this.text())
});
$.ajax({
类型:“POST”,
url:“checklist.php”,
数据:{kvcArray:array},
成功:功能(数据){
控制台日志(数据);
}
});
---checklist.php---
直接的方法是将数组的值附加到表单中的隐藏输入字段
欢迎您您是否尝试回显已发布的数据?可能重复的回显仍返回Null是您的
成功
回调调用警报
?是的,它表示成功。因此此问题在堆栈溢出上有多个类似的帖子,包括这篇针对Javascript帖子选项的帖子,它返回给我“Array()”如果我尝试使用var_dump,它会给出数组(0){}。我真的很困惑为什么我和其他人不一样。。。
<?php
$myArray = $_POST['kvcArray'];
var_dump($myArray)
?>
<script type="text/javascript">
width = screen.width;
height = screen.height;
if (width > 0 && height >0) {
window.location.href = "http://localhost/main.php?width=" + width + "&height=" + height;
} else
exit();
</script>
<?php
echo "<h1>Screen Resolution:</h1>";
echo "Width : ".$_GET['width']."<br>";
echo "Height : ".$_GET['height']."<br>";
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<!-- Your list -->
<ul id="alist">
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
</ul>
<!-- Your JS -->
<script>
var array = [];
$("#alist li").each(function() {
array.push($(this).text())
});
$.ajax({
type: "POST",
url: "checklist.php",
data: { kvcArray : array},
success: function(data) {
console.log(data);
}
});
</script>
</body>
</html>
<?php print_r($_POST); ?>