0

我正在将我的表单数据放入一个数组中

var fields = $(this).serializeArray();

在进行 ajax 调用以在 php 中处理此数组之前,我想将动态令牌值推送到此数组。

我尝试

fields.push({token:value});

我对 php 的 ajax 调用是

$.ajax({

    type : 'POST',
    url : "test.php",
    data : fields,
    dataType : 'json',
    success: function(data) {......},
    error{....}
});

在我的 test.php 页面中,我想使用该令牌值,例如

 $token = $_POST[token];

但 $token 值为空。

4

2 回答 2

2

.serializeArray返回具有结构的数组

[{name: 'name', value: 'value'}, ...]

所以你必须添加一个具有namevalue属性的对象:

fields.push({name: 'token', value: 'value'});

或者如果tokenvalue是变量:

fields.push({name: token, value: value});

查看文档以获取更多信息。

我已经在另一个问题中回答了这个问题:我可以将数据添加到已经序列化的数组中吗?.

于 2013-06-03T20:36:34.060 回答
1

尝试这个:

fields[token] = value;

如果你使用push,你只是将一个值推到数组的末尾,最后一个索引只会增加。

于 2013-06-03T20:32:22.220 回答