如果在表单中没有此字段的情况下使用帖子服务,如何添加参数?

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 表单或表单字段?

我可以在不创建表单的情况下创建 Django 中不需要的管理字段吗?

如何在没有控制问题的情况下停用 ViewState