如果在表单中没有此字段的情况下使用帖子服务,如何添加参数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果在表单中没有此字段的情况下使用帖子服务,如何添加参数?相关的知识,希望对你有一定的参考价值。
我通过参数upload_preset
发送,这对应于文本字段的名称,但是从javascript我想发送另一个名为folder
的参数,其值为myvalue
。如何在不需要添加另一个名为folder
的文本字段的情况下执行此操作?
<form action="" method="post" enctype="multipart/form-data" onsubmit="AJAXSubmit(this); return false;">
<fieldset>
<legend>Upload example</legend>
<p>
<label for="upload_preset">Unsigned upload Preset: <input type="text" name="upload_preset" value="xx">(set it <a href="https://cloudinary.com/console/settings/upload#upload_presets">here</a>)</label>
</p>
<p>
<label >Select your photo:
<input type="file" name="file"></label>
</p>
<p>
<input type="submit" value="Submit" />
</p>
<img id="uploaded">
<div id="results"></div>
</fieldset>
</form>
window.AJAXSubmit = function (formElement) {
if (!formElement.action) { return; }
var xhr = new XMLHttpRequest();
xhr.onload = ajaxSuccess;
xhr.open("post", "https://api.cloudinary.com/v1_1/xxx/image/upload");
xhr.send(new FormData(formElement));
}
答案
1-一个基本的解决方案是你可以在表单中添加hidden Field
。
2-第二种解决方案是 - 您可以使用append
方法添加新字段。
formData.append(name, value);
formData.append(name, value, filename);
您的代码应该是这样的,以获得您的解决方案
window.AJAXSubmit = function (formElement) {
if (!formElement.action) { return; }
var xhr = new XMLHttpRequest();
xhr.onload = ajaxSuccess;
xhr.open("post", "https://api.cloudinary.com/v1_1/xxx/image/upload");
let formData=new FormData(formElement);
formData.append(folder, myvalue);
formData.append(name, value);
formData.append(name, value, filename);
xhr.send(formData);
return false;
}
以上是关于如果在表单中没有此字段的情况下使用帖子服务,如何添加参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 JavaScript 的情况下设计可扩展的 HTML 表单?
如何在不创建其他字段的情况下生成一个列表的嵌套 formik 表单或表单字段?