传递[object%20Object]的XMLHttpRequest

时间:2017-03-07 10:56:44

标签: javascript php arrays json ajax

我有以下代码:

var formData = {};
formData['client_exists'] = 1;
formData['client_id'] = 1234;
formData['subdata'] = subdata;

这会构建一个对象,subdata是一个多维数组。

然后尝试使用以下内容将其传递给我的控制器:

let xhr = new XMLHttpRequest(),  self = this;
window.location = window.location.origin+'/'+formAction+'/' + formData;

请注意,我不能使用以下格式,因为它会导致pdf生成的编码问题

 $.ajax({
    type  : formMethod,
    url   : formAction,
    data  : formData,
    cache : false,
    success : function(data) {
    }
});

当它到达我的控制器时,我只获得一个空数组,因为我的formData在url中传递:

[object%20Object]

我无法弄清楚如何通过正确传递,如果我使用JSON.stringify -

window.location = window.location.origin+'/'+formAction+'/?' + JSON.stringify(formData);

我得到了数据,但它不是可用的格式:

array:1 [▼
  "{"client_exists":1,"client_id":123,"subdata":" => array:1 [▼
    "{"something":"111","something_else":"222","something_more":"333"}" => ""
  ]
]

有没有更好的方法让我通过它或者我可以将它格式化为后端(PHP)上的正确多维数组?

0 个答案:

没有答案