---恢复内容开始---

Ajax提交表单、使用FormData提交表单数据和上传的文件(这里的后台使用C#获取,你可以使用Java一样获取)

有时候前台的数据提交到后台,不想使用form表单上传,希望通过Ajax上传,那么怎么实现呢?

前台页面:

<div>
  <table id="outputInfo">
    <tr><td>Client</td><td><input id='ClientName' type='text'></td></tr>
    <tr><td>CropID</td><td><input id='CropID' type='text' /></td></tr>
    <tr><td>Secret</td><td><input id='Secret' type='text'/></td></tr>
    <tr><td>AppID</td><td><input id='AppID' type='text'/></td></tr>
    <tr><td>Logo</td><td><input id='Logo' type='file'/></td></tr>
  </table>
</div>
<button id="saveInfo">Save</button>

JS代码:

$("#saveInfo").click(function () {
var clientName = $("#ClientName").val();
var CropID = $("#CropID").val();
var Secret = $("#Secret").val();
var AppID = $("#AppID").val();
var formData = new FormData();
alert(clientName);
formData.append("file", document.getElementById("Logo").files[0]);
formData.append("clientName", clientName);
formData.append("CropID", CropID);
formData.append("Secret", Secret);
formData.append("AppID", AppID);
$.ajax({
url: "上传地址",
data: formData,
type: "POST",
contentType: false,//这里
processData: false,//这两个一定设置为false
success: function (info) {
if (info == "success") {
alert("成功上传");
} else {
alert(info);
}
}
});
});

那么在后台接收使用(这里使用C# 代码实现的,Java代码也一样的道理实现):

HttpRequest request = HttpContext.Current.Request;
//获取到前台的ClientName
string ClientName = request.Params["clientName"];
//获取前台的CropID
string CropID = request.Params["CropID"];
//获取前台的Secret
string Secret = request.Params["Secret"];
//获取前台的AppID
string APPID = request.Params["AppID"];
//获取前台上传的文件
if (request.Files.Count > ){
HttpPostedFile file = request.Files[];
}

这个功能的实现可以实现如:一个页面注册时上传用户图像等情形,当然是用Form表单也可以实现。

另外,一些ajax提交表单、ajax实现文件上传的实现,可参考:

http://www.cnblogs.com/dmyao/p/5057274.html

---恢复内容结束---

Ajax模拟Form表单提交,含多种数据上传的更多相关文章

  1. js_ajax模拟form表单提交_多文件上传_支持单个删除

    需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...

  2. Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)

    一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

  3. ANDROID使用MULTIPARTENTITYBUILDER实现类似FORM表单提交方式的文件上传

    最近在做 Android 端文件上传,要求采用 form 表单的方式提交,项目使用的 afinal 框架有文件上传功能,但是始终无法与php写的服务端对接上,无法上传成功.读源码发现:afinal 使 ...

  4. Linux curl 模拟form表单提交信息和文件

    Linux curl 模拟form表单提交信息和文件   curl是一个命令行方式下传输数据的开源传输工具,支持多种协议:FTP.HTTP.HTTPS.IMAP.POP3.TELNET等,功能超级强大 ...

  5. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

  6. jquery模拟form表单提交并新打开页面

    /** * form表单提交本页面打开 * @param url * @param params */ function postCurrent(url,params){ var form = $(& ...

  7. Yii2表单提交(带文件上传)

    今天写一个php的表单提交接口,除了基本的字符串数据,还带文件上传,不用说前端form标签内应该有这些属性 <form enctype="multipart/form-data&quo ...

  8. 关于AJAX与form表单提交数据的格式

    一 form表单传输文件的格式: 只有三种: multipart/form-data 一般用于传输文件,图片文件或者其他的. 那么其中我们默认的是application/x-www-form-urle ...

  9. AJAX 实现form表单提交

    1.使用Ajax实现异步操作,点击登录按钮后,即触发form表单的提交事件,数据传输至后端 JSP: <script type="text/javascript" src=& ...

随机推荐

  1. Docker 入门之创建service(一)

    在一个分布式应用中,我们把应用的不同层叫做"Services".比如,一个视频共享应用,它包含存储数据到数据库的服务,用户上载后后台进行的视频解码服务,前端服务等等. 然而,一个服 ...

  2. IOS 使用cocoapods后无法导入头文件问题

    IOS 使用cocoapods后无法导入头文件问题 这时候如果你发现import的时候没有提示AFN e t wo r k i n g.h的文件,可以在target-Build Settings下修改 ...

  3. css线性渐变兼容

    css线性渐变兼容 background: linear-gradient(top, rgba(54, 77, 127, 0.8), rgba(54, 77, 127, 0.8)); backgrou ...

  4. visual studio调试功能简述

    vs调试简述 1.调试功能简述 vs提供了很强大的调试功能,能够让我们一步步执行中找到每个变量的值,便于查错改错.很多IDE都有调试功能,在使用调试功能时,记得先创建一个项目,哪怕是一个文件,也创建一 ...

  5. 【java学习笔记】线程

    1.线程的定义 ①继承Thread类,将执行的任务逻辑放到run方法中,调用start方法来开启线程 public class ThreadDemo { public static void main ...

  6. Java for Anfroid 学习之 内部类

    1.什么是内部类 所谓的内部类,就是一个类定义在另一个类的里面. 代码: class  A {        int i; class B { int  j; int func(){ int resu ...

  7. linux内核体系结构

    linux内核第一记   1.linux体系结构   从上图可知,Linux分为:用户空间和内核空间.内核空间和用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的 ...

  8. Linux 的进程状态

    (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态.处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个.在没有其他进程可以执行时(如所有进程都在阻塞状 ...

  9. Flex读取txt文件中的内容(一)

    Flex读取txt文件中的内容 phone.txt: 13000003847 13000003848 13000003849 13000003850 13000003851 13000003852 1 ...

  10. WebService之CXF注解之四(测试类)

    TeacherTest.java: /** * @Title:TeacherTest.java * @Package:com.test.service * @Description: * @autho ...