javascript - 如何通过 Jquery/Ajax 将 Javascript 数组从 Javascript 传递到 PHP?

标签 javascript php jquery arrays

我想知道如何通过 Jquery/AjaxJavascript 数组从 Javascript 传递到 PHP >。事实上,我创建了两个文件: t1.htmlmoslem3.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/

相关文章:

javascript - 在 IndexedDB 中预留空间

javascript - React Native TextInput 不让我输入

php - Laravel 在单元测试中不启动特征/验证用户

javascript - 课后重置编号

javascript - 出现错误时将输入字段更改为不同的颜色

javascript - $ this-> renderScript()和$ this-> Html-> script()有什么区别?

Javascript,创建多个cookie文件

php - 在php中打印javascript的值

php - 为什么 $db PDO 对象在构造函数参数中作为 null 传递?

javascript - 如何减少对每个空选择使用错误消息