通过jqueryajaxpost发送JavaScript数组
我要做的是将JavaScript数组发送到PHP文件。通过jqueryajaxpost发送JavaScript数组,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我要做的是将JavaScript数组发送到PHP文件。 这就是我得到的: var mydata = []; console.log(document.getElementsByTagName("input")[0].name); for (var i = 0; i < document.getElementsByTagName('input').length; i++) { mydata[document.getElementsByT
这就是我得到的:
var mydata = [];
console.log(document.getElementsByTagName("input")[0].name);
for (var i = 0; i < document.getElementsByTagName('input').length; i++) {
mydata[document.getElementsByTagName("input")[i].name] = document.getElementsByTagName("input")[i].value;
};
for (var i = 0; i < document.getElementsByTagName('select').length; i++) {
mydata[document.getElementsByTagName("select")[i].name] = document.getElementsByTagName("select")[i].value;
};
console.log(mydata);
$.ajax({
method: "POST",
url: "q.php",
data: {'lol': JSON.stringify(mydata)},
contentType: 'application/json',
dataType: 'json'
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
$('#debug').html(msg);
});
var mydata=[];
console.log(document.getElementsByTagName(“输入”)[0].name);
对于(var i=0;i
如你所见,我创建了一个带有循环的数组,在那一刻一切都很好。问题是当我试图用JSON通过POST发送它时。我不知道这是不是最好的方法
我尝试不使用JSON.stringify()
但是$\u POST
仍然是空的
似乎帖子没有发送,但我可以在控制台中看到XHR post请求已经发送。尝试使用此代码并查看更改 移除
contentType:'应用程序/json',
数据类型:“json”
并将var mydata=[]
更改为var mydata={}
您的ajax应该如下所示
$.ajax({
method: "POST",
url: "q.php",
data: {'lol': mydata}
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
$('#debug').html(msg);
});
$.ajax({
方法:“张贴”,
网址:“q.php”,
数据:{'lol':mydata}
})
.done(函数(msg){
警报(“保存的数据:“+msg”);
$('#debug').html(msg);
});
您不必对mydata进行字符串化,因为您已经将其作为对象进行了清除
希望对你有所帮助你说:“但同样的错误也会发生。”。错误是什么?你能提供错误信息吗?你看到的帖子包含你需要的数据?我认为JSON.stringify不是必需的。您收到的是响应错误还是javascript错误?编辑$\u帖子为空,我尝试了JSON.stringify,但它仍然为空。使用
mydata
变量containsOk@Bankzilla编辑您的问题。给我一点时间