Javascript 建立正确的表单数据
我正在尝试使用剑道用户界面进行文件上传。该文件存储在ECM中,我利用浏览器绑定通过CMIS上传到ECM。我最初使用的AJAX函数如下所示:Javascript 建立正确的表单数据,javascript,jquery,ajax,kendo-ui,cmis,Javascript,Jquery,Ajax,Kendo Ui,Cmis,我正在尝试使用剑道用户界面进行文件上传。该文件存储在ECM中,我利用浏览器绑定通过CMIS上传到ECM。我最初使用的AJAX函数如下所示: $.ajax({ url: 'MY CMIS URL', type: 'POST', data: new FormData($('#myForm')[0]), processData: false, contentType: false, success:
$.ajax({
url: 'MY CMIS URL',
type: 'POST',
data: new FormData($('#myForm')[0]),
processData: false,
contentType: false,
success: function () {
alert("Document Uploaded");
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status + " " + thrownError);
}
});
因此,我的表单上有CMIS属性-当我查看fiddler时,它成功地添加到我的请求中-如图所示:
但是现在我使用剑道UI进行上传,代码如下:
$("#target").kendoUpload({
multiple: false,
async: {
saveUrl: 'MY CMIS URL',
autoUpload: true,
withCredentials: false,
},
upload: function (e) {
$('#propertyValue_0_').val(e.files[0].name);
// e.data = new FormData($('#uploadForm')[0]); - did not work
var formData = $('#uploadForm').serializeArray();
e.data = formData;
}
});
首先,我的数据集类似于我的AJAX调用,但这不起作用。进行序列化并设置e.data=formData;更接近我需要的。当我检查fiddler请求时,我看到以下内容:
如果在开发工具中设置断点,我可以看到formData变量包含名称和值为cmisaction createDocument的对象数组
其余属性也是一样,但在我的fiddler跟踪中,我得到name=0并发送[Object]
如何将e.data正确设置为formData中的名称和值