我想知道如何通过 Jquery/Ajax
将 Javascript
数组从 Javascript
传递到 PHP
>。事实上,我创建了两个文件: t1.html
和 moslem3.php
。各个文件的代码如下:
t1.html的代码:
<html>
<head>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
var table = ["actor", "subject", "object"];
$.ajax({
type: "POST",
url: 'moslem3.php',
data: table
});
});
</script>
</body>
</html>
moslem3.php的代码:
<?php
$myArray = $_REQUEST['table'];
echo $myArray;
?>
文件moslem3.php
显示此消息:
Notice: Undefined index: table in C:\wamp\www\test1\moslem3.php on line 2
所以我的问题是:这里到底错在哪里?..有人知道吗?
提前致谢。
最佳答案
PHP 本质上并不知道有关所使用的 JavaScript 变量的任何信息,例如 var table
。它对 $.ajax()
请求的洞察仅限于 data
结构。
因此,为了让 PHP 了解 $_REQUEST
中的 'table'
参数,data
需要将其包含为命名的值:
data: { table: table }
这将data
定义为一个Object
,其属性table
分配给同名变量的值。
您可以使用 $.param()
来见证差异,其中 $.ajax()
使用:
var table = ["actor", "subject", "object"];
console.log($.param(table));
// "undefined=&undefined=&undefined="
console.log($.param({ table: table }));
// "table%5B%5D=actor&table%5B%5D=subject&table%5B%5D=object"
关于javascript - 如何通过 Jquery/Ajax 将 Javascript 数组从 Javascript 传递到 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23893880/