1 回答
TA贡献1840条经验 获得超5个赞
JavaScript 中没有关联数组这样的东西。
有一些对象,它们保存
key:value
成对的数据。有数组,它们是一种对象,当
key
名称为整数时提供特殊行为。
当您在data
.
如果你传递一个数组将不会做任何key:value
对其中key
是不是整数。
为此使用普通对象而不是数组。
旁白:以大写字母开头的变量名传统上保留用于在 JavaScript 中存储构造函数。不要对其他类型的数据使用该命名约定。
var filters = {};
filters['category'] = this.category.val();
filters['Type1'] = this.type1.val();
filters['Type2'] = this.type2.val();
但是,在创建对象时收集所有数据会更容易:
var filters = {
category: this.category.val(),
Type1: this.type1.val(),
Type2: this.type2.val()
};
在旁边
data: {
data: FiltersArray
}
这将创建一个(看似毫无意义的)复杂数据结构,您需要在 PHP 中以$_POST['data']['category'].
你可能只想:
data: filters
在旁边
data: JSON.stringify(this.returnArray()),
这将发送 JSON 而不是表单编码数据。
如果你这样做,那么你还需要:
设置contentType请求以指示您正在发送 JSON
在 PHP 中显式解析 JSON
所以你可能不想这样做。
添加回答
举报