Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript保存上传的简历?_Javascript_Jquery - Fatal编程技术网

使用javascript保存上传的简历?

使用javascript保存上传的简历?,javascript,jquery,Javascript,Jquery,我正在探索一个API,但我一直在研究如何上传简历并使用javascript/jQuery保存简历 如果您想看一看,下面是API的一个示例。 最终目标是将简历加载到对象中。我只关心加载上传的文件/简历 以下是预期输出: let payload = { "fields": [{ "key" : "resume", "value": { "encoded_data" : "aGVsbG8gd29ybGQ=", "file_name

我正在探索一个API,但我一直在研究如何上传简历并使用javascript/jQuery保存简历

如果您想看一看,下面是API的一个示例。 最终目标是将简历加载到对象中。我只关心加载上传的文件/简历

以下是预期输出:

let payload = {
    "fields": [{
        "key" : "resume", "value": {
            "encoded_data" : "aGVsbG8gd29ybGQ=",
            "file_name" : "resume.txt"
        }
    }],
    "source" : "new website"
}
下面是HTML文件的结构

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="container" id="json-response">
  <div class="form-container">
    <div class="header">
      <h1>Application form</h1>
    </div>
    <form action="#" class="applicantForm">
      <div class="form-group">
        <div class="input-group">
          <label for="Resume">Resume <span>*</span></label>
          <input class="form-control" type="file" name="Resume">
        </div> 
      </div>
      <button class="submit" type="submit">Apply Now</button>
    </form>
  </div>
</div>

您没有使用KeyValue定义函数
。注意:我修正了你代码的缩进。如果您在进一步编辑问题时保留适当的代码缩进就好了。@trincot我没有用keyValue定义
是什么意思?你能再解释一下吗?或者提供一个简单的例子,这个调用是什么应该怎么做?我在你的代码中没有看到
withKeyValue
的定义?@trincot我忘了粘贴它。我刚刚更新了代码,修正了缩进(再次)。
$(document).ready(function() {    
    const ApplyOpeningPayloadBuilder = function() {
        let payload = {
            "fields": [],
            "source" : "new website"
        };
        return {
            withKeyValue: function(key, value) {
                let param = {};
                param.key = key;
                param.value = value;
                payload.fields.push(param);
                return this;
            },
            withFile: function(key, encoded_data, filename) {
                let value = {};
                value.encoded_data = encoded_data;
                value.file_name = filename;
                this.withKeyValue(key, value);
                return this;
            },
            build: function() {
                return payload;
            }
        }
    }

    let encoded_file = "aGVsbG8gd29ybGQ=";
    $('.applicantForm').on('submit', function(e) {
        e.preventDefault();
        let apply_for_an_opening_payload_builder = new ApplyOpeningPayloadBuilder();
        apply_for_an_opening_payload_builder.withFile("resume", encoded_file, this.value);
        let payload = apply_for_an_opening_payload_builder.build();
        console.log("Log uploaded resume:", payload);
   });
})