Javascript 如何通过剑道文件上传发送额外值

Javascript 如何通过剑道文件上传发送额外值,javascript,jquery,kendo-ui,kendo-grid,Javascript,Jquery,Kendo Ui,Kendo Grid,我正在尝试上载文件,文件上载已成功上载。当我发送额外的值和文件上传保存url时,我面临这个问题 我已经创建了一个JSFIDLE 我可以上传文件,但我想在上传文件的同时发送DrowDown值和文本框值 <span>Document Type <select id="dropdownlist"> <option>Id Proof</option> <option>Driving Liscence</optio

我正在尝试上载文件,文件上载已成功上载。当我发送额外的值和文件上传保存url时,我面临这个问题

我已经创建了一个JSFIDLE

我可以上传文件,但我想在上传文件的同时发送DrowDown值和文本框值

    <span>Document Type
<select id="dropdownlist">
    <option>Id Proof</option>
    <option>Driving Liscence</option>
    <option>Other</option>
</select>
    <br/>
    Doc Number<input type="text" class="k-text" />
    <br/>
<div style="padding: 4px; margin-bottom: 10px;">
        Acceptable file types: .xml<br/>File size limit: 5MB
 </div>
    <input type="file" name="batchFile" id="batchFile" title="Select file" />
    <div id="upload-error" class="k-state-selected" style="padding: 4px; margin-top: 10px; display: none"></div>

<script>
$("#dropdownlist").kendoDropDownList();


$("#batchFile").kendoUpload({
    async: {
        saveUrl: '/Upload',
        autoUpload: false
    },
    multiple: false,
    localization: {
        select: "Select a file",
        uploadSelectedFiles: "Send"
    }
});
</script>
文档类型
身份证明
驾驶执照
其他

文件编号
可接受的文件类型:.xml
文件大小限制:5MB $(“#dropdownlist”).kendoDropDownList(); $(“#批处理文件”).kendoUpload({ 异步:{ saveUrl:“/Upload”, 自动上载:false }, 多重:假, 本地化:{ 选择:“选择一个文件”, 上载选定文件:“发送” } });
您是否查看了
上载
事件处理程序?看起来这将完成您可能需要发送额外数据的操作,他们的示例是添加一个请求头


我已经更新了您的JSFIDLE以发布其他字段


我在upload函数中修改了saveurl,如下所示:

上传:功能(e){ e、 sender.options.async.saveUrl=e.sender.options.async.saveUrl+“/”+e.files[0]。名称; }

我总是上传一个文件,并在URL中发送其名称。异步配置为:

异步:{ 事实上, saveUrl:“保存服务的url”,
}

以下是我使用的一个示例:

upload: function onUpload(e) {

 $.each(e.files, function (index, value) {
var fileName = value.name;

 e.sender.options.async.saveUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('List A')/items(2)/AttachmentFiles/add('" + fileName + "')"

      });
    },

是的,我已经看过文件了。但我不想在url中附加值。谢谢Dario,我能够在上传url中发送额外数据,并在我的控制器中获取这些值。但它是空的。
upload: function onUpload(e) {

 $.each(e.files, function (index, value) {
var fileName = value.name;

 e.sender.options.async.saveUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('List A')/items(2)/AttachmentFiles/add('" + fileName + "')"

      });
    },