Javascript 通过ajax将myArray传递给php
您好,我正在尝试将名为myArray的数组传递给phpJavascript 通过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'
<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我更新了我的答案,请尝试让我知道我的数组仍然为空。是的,这部分工作,但仍然得到空数组。无论如何,谢谢你