为什么jquery ajax不在get请求中发送数据

时间:2016-04-15 16:35:48

标签: javascript jquery ajax

我设置了一个页面,我们的工作人员可以在其中查看应该在货架上的物品清单,然后确认物品是否存在,或者如果出现问题则发送警报。

我试图为每种情况创建一个函数(项目存在,项目不存在,信息不​​正确),其中每个函数将该情况的正确参数传递给将生成实际ajax请求的泛型函数。

此功能由按钮点击触发(当项目存在且正确时)并正确记录数据:

function log (rec_id,offset) {
    console.log("On Shelf \r\nRecord_Id: "+rec_id+"\r\nOffset: "+offset);
    var rdata =[];
    rdata['id'] = rec_id;
    rdata['status'] = 1;
    rdata['branch'] = $("#branch").val();
    rdata['loc_code'] = $("#location_code").val();
    console.log("log function");
    console.log(rdata);

    log_item(rec_id,offset,rdata);      
}

这是输出到日志的内容:

[id: 1833049, status: 1, branch: "1", loc_code: "mnlp"]

log_item函数发出ajax请求

function log_item(rec_id, offset, rdata) {
    console.log("Logging Item: i"+rec_id+"a");
    console.log("log_item function");
    console.log(rdata);
    $.ajax({
        url: 'logItem.php',
        data: rdata
    }).done(function(response){
        console.log(response);
        $("#form").foundation('close');
    });
}

它也正确记录数据

[id: 1833049, status: 1, branch: "1", loc_code: "mnlp"]

但是当我查看发送的请求时,这些参数不会在请求中传递。

1 个答案:

答案 0 :(得分:3)

我认为问题出在这里。

var rdata =[];

将其更改为

var rdata ={};