Javascript 通过ajax将myArray传递给php

Javascript 通过ajax将myArray传递给php,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,您好,我正在尝试将名为myArray的数组传递给php <script type = "text/javascript" > $(document).ready(function () { var tagApi = $(".tm-input").tagsManager(); var myArray = []; jQuery(".typeahead").typeahead({ name: 'email'

您好,我正在尝试将名为myArray的数组传递给php

<script type = "text/javascript" >
    $(document).ready(function () {
        var tagApi = $(".tm-input").tagsManager();
        var myArray = [];


        jQuery(".typeahead").typeahead({
            name: 'email',
            displayKey: 'email',
            source: function (query, process) {
                return $.get('Data.php', {
                    query: query
                }, function (data) {
                    data = $.parseJSON(data);
                    console.log(data);
                    return process(data);

                });
            },
            afterSelect: function (item) {
                tagApi.tagsManager("pushTag", item);
                myArray.push(item);
                console.log('This is myArray', myArray);
            }


        });

        $.ajax({
            type: "POST",
            url: "Data.php",
            data: {
                myArray: myArray
            },
            success: function () {
                $("#submit").submit();
            }
        });
    }); 
</script>

$(文档).ready(函数(){
var tagApi=$(“.tm输入”).tagsManager();
var myArray=[];
jQuery(“.typeahead”).typeahead({
名称:'电子邮件',
displayKey:“电子邮件”,
来源:功能(查询、流程){
返回$.get('Data.php'{
查询:查询
},函数(数据){
data=$.parseJSON(数据);
控制台日志(数据);
返回过程(数据);
});
},
后选:功能(项){
tagApi.tagsManager(“pushTag”,项目);
myArray.push(项目);
log('这是myArray',myArray);
}
});
$.ajax({
类型:“POST”,
url:“Data.php”,
数据:{
myArray:myArray
},
成功:函数(){
$(“#提交”).submit();
}
});
}); 
但当我尝试获取我的数组时,如下所示:

<?php $myArray = $_REQUEST['myArray']; 
echo "This is myArray: ".$myArray; 
?>

我只看到echo这是我的数组,没有myArray中的任何数据。 我应该如何传递myArray以在php中获取它

Submit是我的按钮,它获得了id Submit。提交表单后,我只想传递myArray并将其放入我的php文件中

或者我做错了什么,只是我的数组是空的?我的console.log工作正常,我可以看到myArray中的所有数据

编辑: 还有html部分

<form action="Data.php" method="post" id="submit">

    <div class="form-group">
        <label>Add Tags:</label><br />
        <input type="text" name="email" placeholder="Email" autocomplete="nope" autocomplete="off" class="typeahead tm-input form-control tm-input-info" />
    </div>

    <div class="form-actions form-group"><button type="submit" value="add" name="add" class="btn btn-success btn-block">Utwórz</button></div>
</form>

添加标签:
乌特沃兹
您正在
.ready()
内部调用ajax,这意味着一旦您的文档完全加载,它将调用ajax。当用户单击submit按钮时,必须调用ajax

试试这个

  <script type = "text/javascript" >
  $(document).ready(function () {
    var tagApi = $(".tm-input").tagsManager();
    var myArray = [];


    jQuery(".typeahead").typeahead({
        name: 'email',
        displayKey: 'email',
        source: function (query, process) {
            return $.get('Data.php', {
                query: query
            }, function (data) {
                data = $.parseJSON(data);
                console.log(data);
                return process(data);

            });
        },
        afterSelect: function (item) {
            tagApi.tagsManager("pushTag", item);
            myArray.push(item);
            console.log('This is myArray', myArray);
        }


    });

  $(".btn").click (function (e) {
    e.preventDefault();
    $.ajax({
        type: "POST",
        url: "Data.php",
        data: {
            myArray: myArray
        },
        success: function () {
            $("#submit").submit();
        }
    });
   });
}); 

$(文档).ready(函数(){
var tagApi=$(“.tm输入”).tagsManager();
var myArray=[];
jQuery(“.typeahead”).typeahead({
名称:'电子邮件',
displayKey:“电子邮件”,
来源:功能(查询、流程){
返回$.get('Data.php'{
查询:查询
},函数(数据){
data=$.parseJSON(数据);
控制台日志(数据);
返回过程(数据);
});
},
后选:功能(项){
tagApi.tagsManager(“pushTag”,项目);
myArray.push(项目);
log('这是myArray',myArray);
}
});
$(“.btn”)。单击(函数(e){
e、 预防默认值();
$.ajax({
类型:“POST”,
url:“Data.php”,
数据:{
myArray:myArray
},
成功:函数(){
$(“#提交”).submit();
}
});
});
}); 

检查元素并调试xhr请求参数还执行
var_dump($myArray)
可能重复的@sanu var_dump表示为空,但why@sanu我尝试将ajax放入afterSelect和每个带有myArray的console.log中,我看到XHR已经完成了加载post。但仍然是空的,它不能这样做,因为它是这样工作的:我希望在单击submit之后将所有标记放入我的dba中button@defus我更新了我的答案,请尝试让我知道我的数组仍然为空。是的,这部分工作,但仍然得到空数组。无论如何,谢谢你