jQuery、JSON : Javascript obj/array to json for use with jQuery. ajax

标签 jquery json

这是一个与此类似的问题: Convert js Array() to JSon object for use with JQuery .ajax

除了我有一个包含多个数组的对象。

对象看起来像(模拟):

{"用户":[1,2,3,4], "客户":[5,6,7,8], "CompletionStatus":"逾期", "DateRange":"本周"}

并且是这样创建的:

            Filter = new FilterData;

            Filter.Add(9, "Clients");
            Filter.Add(12, "Clients");
            Filter.Add(75, "Clients");

            Filter.Add(9, "Users");
            Filter.Add(12, "Users");
            Filter.Add(75, "Users");

            Filter.SetValue("DateRange", "yesterday");

    function FilterData(){

        this.Users = [];

        this.Clients = [];

        this.Options = [];
        this.Options.CompletionStatus = [];
        this.Options.DateRange = [];

        this.Add = function(id, type){
            this[type].push(id);
            this[type] = this[type].unique();
            return;
        }

        this.Rem = function(id, type){+
            this[type].splice( Filter[type].indexOf(id), 1);
            this[type] = this[type].unique();
            return;
        }

        this.SetValue = function(key, value){
            this.Options[key] = value;
        }

    }

...

如果我这样做:

AjaxRequest = $.ajax({
...
data: Filter,
...
});

看起来 obj 最终会像:...Users=1&Users=2&Users=3&....

这会导致 PHP 只能看到用户的一个值,这将是最后一个值,在本例中为 3。

我需要 PHP 正确查看数组的是: ..Users[]=1&Users[]=2&Users[]=3&....

知道如何纠正这个问题吗?

Example:

In firebug, my post looks like this:

Clients 1
Clients 10
CompletionStatus    pastdue
DateRange   14
Users   2
Users   3
Users   4

and my response looks like this:
page: <?php print_r($_POST) ?>

Array
(
    [Users] => 4
    [Clients] => 10
    [CompletionStatus] => pastdue
    [DateRange] => 14
)

最佳答案

在 javascript 中将 Users 名称更改为 Users[]。 “Users[]”是 JavaScript 对象的有效属性名称:

var o= { 'Users[]': 'hello user' }; 
alert(o['Users[]']);

关于jQuery、JSON : Javascript obj/array to json for use with jQuery. ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890772/

相关文章:

json - Angular 2 HTTP post方法不会将数据发送到request.JSON在Grails Action中

javascript - 如何制作与组合框选项相关的功能

javascript - Object.assign 嵌套属性

jquery - 我怎样才能将切片器的效果从淡入淡出更改为其他过渡而不会延迟 jQuery

javascript - 从设置显示 :none; 停止 jQuery 循环

java - 通过 JSON 配置选择策略

json - 创建基于 JSON 的 REST 完整 Web 服务 API 有哪些替代方案?

json - 如何以CSV格式保存Jmeter响应数据(JSON类型数据)

javascript - $.ajax 调用无法识别其 url 中的动态变量

javascript - 连续的 Ajax 调用已交换数据