在javascript中传递数组元素作为AJAX POST请求的参数

Passing array elements in javascript as parameters for an AJAX POST request

本文关键字:POST AJAX 请求 参数 javascript 数组元素      更新时间:2023-09-26

我从用户那里获取了一些输入值,我想把这些值作为AJAX请求中的参数发布,这样我就可以在PHP中向数据库添加一个条目:

我在JS中的函数是:

function reqAdd()
{
    var tablename = $("table").options[$("table").selectedIndex].value
    var fields = new Array();
    var inputs = $$("input.postfields");
    new Ajax.Request(
            "process.php?type=add&table="+tablename,
            {
                method: "post",
                parameters:
                onSuccess: functionName,
                onFailure: ajaxFailure
            }
    );
}

变量输入包含我需要的所有输入字段,所以我只需要提取它们的值,但是如果它们没有键,我如何将它们放入参数部分?

使用Form.serializeElements()获取元素数组,$$("input.postfields")并将其转换为准备张贴的查询字符串或对象。

var inputs = $$("input.postfields");
inputs = Form.serializeElements(inputs); //add this line

parameters: inputs,

我个人喜欢传递对象给我的Ajax请求,并跳过提交输入,所以我将传递一个选项对象给serializeElements()

inputs = Form.serializeElements(inputs,{hash:true,submit:false});
http://api.prototypejs.org/dom/Form/serializeElements/