如何提交复杂的Json对象以及文件上传?
我可以成功地创建一个简单的json对象,但只能使用复杂的json:
e.g。 [file] + {simple:object} - 好的
e.g。 [file] + {some:{complex:' asdf'},object:[' str1',' str2']} - 失败
//here is the simple json data
var params = {simple: 'jsonData'};
//here is the header to enable json stuff
var headers = {
'Content-Type': 'application/json',
'Accept': 'application/json, text/javascript, */*',
'dataType': 'json'
};
//assume we have some files in that html form
var files = fi.button.fileInputEl.dom.files;
form.submit({
url: '/some/api',
waitMsg: 'Uploading your file...',
headers: headers,
params: params,
success: function(a, b) {
//done...
}
});
当params是一个具有多个图层的复杂Json对象时,上面的代码失败了。我正在使用ExtJs,对于那些使用JQuery的人我猜它是html表单所以我的问题在不同的js libs中是相同的。
答案 0 :(得分:1)
在进行文件上传时,Ext会对隐藏的iframe执行表单发布,因此您需要解析数据。