Javascript ajax表单未发送头

Javascript ajax表单未发送头,javascript,jquery,ajax,Javascript,Jquery,Ajax,因此,当我提交表单时,我不会得到任何标题数据。我已经做了十亿次这种类型的提交(当然是象征性的),但仍然有可能我遗漏了一些东西。思想?代码如下: $('#app-submit').click(function(e){ e.preventDefault(); validate(); var data = []; var required = []; var questions = []; var erro

因此,当我提交表单时,我不会得到任何标题数据。我已经做了十亿次这种类型的提交(当然是象征性的),但仍然有可能我遗漏了一些东西。思想?代码如下:

$('#app-submit').click(function(e){
        e.preventDefault();
        validate();
        var data = [];
        var required = [];
        var questions = [];
        var errors = 0;
        $('#application-form :input:not(:radio):not(:button)').each(function(){
            name = $(this).attr('id');
            val = $(this).val();
            data[name] = val;
            if($(this).closest('div').hasClass('has-error')){
                errors++;
            }
        });

        $('#application-form .not-empty').each(function(){
            name = $(this).attr('id');
            val= $(this).val();
            required[name] = val;
        });

        for(var i = 1; i < 12; i++){
            name = 'q'+i;
            val = $('input[name="q'+i+'"]:checked').val();
            if($('input[name="q'+i+'"]').closest('div').hasClass('has-error')){
                errors++;
            }
            questions[name] = val;
        }

        if(!errors){
            $.ajax({
                url : 'assets/server/submitApp.php',
                type : 'POST',
                data : data,
                dataType : 'JSON',
                success : function(data){
                    if(!data.errors){
                        $('#application-holder').html(data.message);
                    }else{
                        alert(data.message);
                    }
                }
            });
        }
    });
$(“#应用程序提交”)。单击(功能(e){
e、 预防默认值();
验证();
var数据=[];
所需风险值=[];
var问题=[];
var误差=0;
$('#申请表:输入:不(:单选):不(:按钮))。每个(函数(){
name=$(this.attr('id');
val=$(this.val();
数据[名称]=val;
if($(this).closest('div').hasClass('has-error')){
错误++;
}
});
$('#申请表.非空')。每个(函数(){
name=$(this.attr('id');
val=$(this.val();
必需的[名称]=val;
});
对于(变量i=1;i<12;i++){
名称='q'+i;
val=$('input[name=“q'+i+'”]:选中').val();
if($('input[name=“q'+i+'”).closest('div').hasClass('has-error')){
错误++;
}
问题[名称]=val;
}
如果(!错误){
$.ajax({
url:'assets/server/submitap.php',
键入:“POST”,
数据:数据,
数据类型:“JSON”,
成功:功能(数据){
如果(!data.errors){
$('#应用程序持有者').html(data.message);
}否则{
警报(数据、消息);
}
}
});
}
});
注: HTTP头没有显示在控制台中,只是为了验证我没有获取数据,我做了一个
var\u转储($\u请求)
,它也显示为null


更新:我编辑了代码,只提交了我构建的一个数组,但它仍然没有发送任何数据。事件,但在提交ajax调用之前,如果我放置一个console.log(数据),它将显示数组中确实充满了数据

您正在将数组传递给
数据

如果执行此操作,则数组必须使用标准数字索引包含一系列具有
name
value
属性的对象

你没有那样做

修改数组的唯一时间是将命名属性添加到数组中,就像它是普通对象一样

首先使用普通对象

var data = [];
应该是:

var data = {};

对象应具有命名属性。数组不是,它们是用于顺序数据。

哪些标头数据没有被发送?您是如何测试它的?您没有看到标题数据是什么意思?您的服务器正在从客户端获取请求,但您没有看到HTTP头?你在看什么?你的PHP日志怎么说?我没有得到http数据和PHP寄存器上的var_dump没有什么你怎么知道
var_dump($_请求)
返回
null
?你觉得怎么样?
$\u请求
与标题有什么关系?好吧,我想我可能混淆了一些术语。我指的头数据不是php的
header()
函数,而是从客户端表单发送到我正在运行的服务器脚本的文本头数据。在
url:
选项i中找到
$.ajax
调用
$\u REQUEST
将告诉我脚本从提交中收到了哪些数据,我还通常运行
var\u dump
,这样我就可以看到我正在处理的内容的结构,以便正确管理我的数据。这次我要确保记下笔记,因为我认为我以前做过!非常感谢你的帮助。