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

问题描述 投票:0回答:1

我通过参数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));
}
javascript django django-forms
1个回答
1
投票

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.