Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过jqueryajaxpost发送JavaScript数组_Javascript_Php_Jquery_Ajax_Json - Fatal编程技术网

通过jqueryajaxpost发送JavaScript数组

通过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

我要做的是将JavaScript数组发送到PHP文件。
这就是我得到的:

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编辑您的问题。给我一点时间