繁体   English   中英

JQuery.each 处理前 Ajax

[英]JQuery .each processing before Ajax

I have a Javascript (Jquery) function that iterates over input elements in a form, assembles an array to JSON stringily, and then posts it to an AJAX endpoint. 每个都在 AJAX 调用之后运行,我不确定在每个之后调用 AJAX 端点最接受的方法是什么。

我的 function:

function FormHandler() {
    var data = [];
    $("form#myForm :input").each(function () {
        var input = $(this);
        var field_key = input[0]['name'].substr(4);
        var value = input[0]['value'];
        data[field_key] = value;
        console.log(data);
    });
    $.ajax({
        dataType: "json",
        url: 'https://myendpoint.xxx/v1/' + pathname,
        type: 'POST',
        data: {'data': JSON.stringify(data)},
        success: function (thisdata) {
            console.log(thisdata);
        }
    });
};

调用此 AJAX 会在 JSON 中发送一个空数据数组,但 foreach 中的控制台日志显示数据元素在每一轮都按下一个输入值增长。 我尝试在每个人的第一个 function 之后将 AJAX 调用放在 function 中,但这不起作用。

感谢您的指点。

您需要将var data = []更改为var data = {} 在每个循环中,您将属性添加到数组中,而JSON.stringify不会选择该数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM