为什么jqueryajax没有在get请求中发送数据

why is jquery ajax not sending the data in get request

本文关键字:数据 请求 get jqueryajax 为什么      更新时间:2023-09-26

我正在设置一个页面,我们的员工可以在其中查看应该在货架上的物品列表,然后确认物品是否在那里,或者在出现问题时发送警报。

我试图为每种情况(项目存在、项目不存在、信息不正确)创建一个函数,其中每个函数都会将该情况的正确参数传递给一个通用函数,该函数将发出实际的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"]

logitem函数使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"]

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

我认为问题就在这里。

var rdata =[];

将其更改为

var rdata ={};