使用 JavaScript 将表单简历数据发送到 ASP.NET MVC 服务器

冬枫姑娘_9786

冬枫姑娘_9786

2025-10-11

657人浏览

原创

使用 javascript 将表单简历数据发送到 asp.net mvc 服务器

本文介绍了如何使用 JavaScript 从包含工作经历和教育经历等模块化信息的表单中提取数据,并将其发送到 ASP.NET MVC 服务器。重点讲解了如何遍历动态生成的表单模块,收集数据并将其组织成 JSON 格式,最后通过 AJAX 请求将数据发送到服务器端进行处理。

构建前端表单结构

首先,我们需要一个 HTML 表单,其中包含动态添加的工作经历和教育经历模块。每个模块都包含相应的输入字段,例如公司名称、职位、起止日期等。


使用 JavaScript 收集表单数据

接下来,使用 JavaScript 遍历表单中的工作经历和教育经历模块,并将数据收集到一个 JavaScript 对象中。

$(document).ready(function() {
  $('#submitResume').click(function() {
    let data = {
      WorkExperiences: [],
      Educations: []
    };

    // Сбор данных из модулей опыта работы
    $('.work-experience-module').each(function () {
      let workExperience = {
        companyName: $(this).find('input[name="company"]').val(),
        position: $(this).find('input[name="position"]').val(),
        responsibilities: $(this).find('input[name="responsibilities"]').val(),
        workExperienceStartDate: $(this).find('input[name="workExperienceStartDate"]').val(),
        workExperienceEndDate: $(this).find('input[name="workExperienceEndDate"]').val()
      };
      data.WorkExperiences.push(workExperience);
    });

    // Сбор данных из модулей образования
    $('.education-module').each(function () {
      let education = {
        InstitutionName: $(this).find('input[name="educationInstitution"]').val(),
        Degree: $(this).find('input[name="educationDegree"]').val(),
        GraduationDate: $(this).find('input[name="educationGraduationDate"]').val()
      };
      data.Educations.push(education);
    });

    // 将数据发送到服务器
    sendDataToServer(data);
  });

  // 添加工作经历模块的示例代码
  $('#addWorkExperience').click(function() {
    let workExperienceModule = `
      <div class="work-experience-module">
        <input type="text" name="company" placeholder="公司名称"><input type="text" name="position" placeholder="职位"><input type="text" name="responsibilities" placeholder="职责"><input type="date" name="workExperienceStartDate" placeholder="开始日期"><input type="date" name="workExperienceEndDate" placeholder="结束日期">
</div>
    `;
    $('#workExperiencesContainer').append(workExperienceModule);
  });

  // 添加教育经历模块的示例代码
  $('#addEducation').click(function() {
    let educationModule = `
      <div class="education-module">
        <input type="text" name="educationInstitution" placeholder="学校名称"><input type="text" name="educationDegree" placeholder="学位"><input type="date" name="educationGraduationDate" placeholder="毕业日期">
</div>
    `;
    $('#educationsContainer').append(educationModule);
  });
});

使用 AJAX 发送数据到服务器

使用 AJAX 将收集到的数据发送到 ASP.NET MVC 服务器。可以将数据序列化为 JSON 字符串,并将其作为请求体发送。

超级简历WonderCV
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

下载
function sendDataToServer(data) {
  $.ajax({
    url: '/Resume/SubmitResume', // 替换为您的服务器端点
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(data),
    success: function(response) {
      console.log('数据发送成功:', response);
      alert('简历提交成功!');
    },
    error: function(error) {
      console.error('数据发送失败:', error);
      alert('简历提交失败!');
    }
  });
}

ASP.NET MVC 服务器端处理

在 ASP.NET MVC 控制器中,创建一个 Action 来接收和处理简历数据。需要创建一个与前端数据结构相匹配的 ViewModel。

public class ResumeViewModel
{
    public List<workexperienceviewmodel> WorkExperiences { get; set; } = new List<workexperienceviewmodel>();
    public List<educationviewmodel> Educations { get; set; } = new List<educationviewmodel>();
}

public class WorkExperienceViewModel
{
    public string CompanyName { get; set; }
    public string Position { get; set; }
    public string Responsibilities { get; set; }
    public DateTime WorkExperienceStartDate { get; set; }
    public DateTime WorkExperienceEndDate { get; set; }
}

public class EducationViewModel
{
    public string InstitutionName { get; set; }
    public string Degree { get; set; }
    public DateTime GraduationDate { get; set; }
}</educationviewmodel></educationviewmodel></workexperienceviewmodel></workexperienceviewmodel>

然后,在控制器中创建 Action 方法来接收和处理数据:

[HttpPost]
public ActionResult SubmitResume(ResumeViewModel resume)
{
    if (ModelState.IsValid)
    {
        // 在这里处理简历数据,例如保存到数据库
        // 可以使用 resume.WorkExperiences 和 resume.Educations 访问数据

        // 返回成功响应
        return Json(new { success = true, message = "简历已成功提交!" });
    }
    else
    {
        // 返回错误响应
        return Json(new { success = false, message = "简历提交失败,请检查输入信息!" });
    }
}

注意事项

  • 数据验证: 在前端和后端都进行数据验证,以确保数据的完整性和准确性。
  • 错误处理: 在 AJAX 请求中添加错误处理机制,以便在数据发送失败时通知用户。
  • 安全性: 对发送到服务器的数据进行适当的编码和转义,以防止跨站脚本攻击 (XSS)。
  • 动态表单元素: 确保使用事件委托来处理动态添加的表单元素的事件。
  • 日期格式: 确保前端和后端使用一致的日期格式。可以使用 moment.js 等库来处理日期格式化。

总结

本文介绍了如何使用 JavaScript 从包含动态模块的表单中收集数据,并将其发送到 ASP.NET MVC 服务器。通过使用 AJAX 请求,可以实现无刷新提交表单数据。记住要进行数据验证、错误处理和安全性措施,以确保应用程序的稳定性和安全性。这种方法可以应用于各种需要收集动态表单数据的场景,例如问卷调查、产品配置等。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

1935

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2542

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

896

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

2839

7

ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2220

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

340

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

2053

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1121

6

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1518

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WebStorm 官方调试文档
WebStorm 官方调试文档

共0课时 | 0人学习

React 教程
React 教程

共58课时 | 11.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 6.5万人学习