javascript-js上传图片和文字信息问题

问题描述

js上传图片和文字信息问题

如下图:如何把图片信息和输入表单的数据一起post到后端?

我的写法是这样:

var uploadImg=[];//上传信息数组
$('#input-file-now').on("change",function(e){//点击上传照片事件
        funGetFiles(e);
    });
    //获取照片信息
function funGetFiles(e) {
    uploadImg=[];//清空
    var files = e.target.files || e.dataTransfer.files;
    uploadImg.push(files);
//  console.log(uploadImg);
}
 var name=$("input[id='name']").val();//获取宝贝昵称
    var year=$("select[id='year'] option:selected").val();//获取出生-年份
    var month=$("select[id='month'] option:selected").val();//获取出生-月份
    var mobile=$("input[id='mobile']").val();//获取联系方式-手机
    var qq=$("input[id='qq']").val();//获取联系方式-QQ号
    var desc=$("textarea[name='desc']").val();//获取描述文本
    var birthday=year+"."+month;//出生年月

    //提交信息
    $.each(uploadImg, function(k,v) {
        var val=v;
        var formdata=new FormData();
        formdata.append("fileList",val);
//      var xhr=new XMLHttpRequest();
        console.log(formdata);
        var jsonData={"name":name,"birthday":birthday,"mobile":mobile,"qq":qq,"img":formdata,"desc":desc};
        jsonData=JSON.stringify(jsonData);
        console.log(jsonData);
        $.post("url",jsonData,function(data){

        });
//      funUploadFile();
    });

但是,输出的是:{"name":"司法所","birthday":"2014.4","mobile":"12321432432","qq":"12323432","img":{},"desc":"水电费第三方"}

解决方案

post h5的formdata对象,附加数据全部放到formdata中,而不是自己组个json对象。formdata插入图片信息也不正确,你放入文件名没用,要放文件2进制数据
DEMO
html5 ajax上传文件asp.net示例

解决方案二:

用一个表单包起来,提交表单就行了,,

解决方案三:

ajax中将表单的序列化作为参数传递就可以了,后台获取的方式跟用普通的submit提交的表单获取方式一样。

        $.ajax({        url : "",
                       type : "post",
                       dataType : "json",
                       data : $("#form").serialize();,
                       success : function(result) .......
时间: 2024-10-28 10:51:18

javascript-js上传图片和文字信息问题的相关文章

javascript弹出带文字信息的提示框效果_javascript技巧

本文实例讲述了javascript弹出带文字信息的提示框效果.分享给大家供大家参考,具体如下: tooltips.js: // position of the tooltip relative to the mouse in pixel // var offsetx = 12; var offsety = 8; function newelement(newid) { if(document.createElement) { var el = document.createElement('di

Javascript 验证上传图片大小[客户端]_jquery

需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理. 2)前台处理: 也就是利用Javascript获取该图片大小. 显然第一种方式,很不好.因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本. 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法. IE6: 关键

Javascript验证上传图片大小[前台处理]_javascript技巧

需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理. 2)前台处理: 也就是利用Javascript获取该图片大小. 显然第一种方式,很不好.因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本. 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法. IE6: 关键

如何利用js使一行文字在滚动的过程中逐字减小,直到消失,谢谢啦

问题描述 如何利用js使一行文字在滚动的过程中逐字减小,直到消失,谢谢啦 要求一行文字向左滚动,在过程中文字逐个减小到消失,谢谢大家,希望可以有源码,感激不尽啦 解决方案 最好先采纳,不然写了半天,你就跑了,我只能哭哭了. 解决方案二: 定时器,控制css,控制字体大小. 解决方案三: <style type="text/css"> #gongao{width:1000px;height:30px;overflow:hidden;line-height:30px;font-

js上传图片及预览功能

  js上传图片及预览功能          本文实例讲述了js上传图片及预览功能.分享给大家供大家参考.具体分析如下: 参考了网上一些人代码写了一个上传图片及时预览的功能 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <img id="imgTag" style="height: 100px;" alt="" /> <input type="

JS上传图片前实现图片预览效果的方法

 这篇文章主要介绍了JS上传图片前实现图片预览效果的方法,涉及javascript操作图片的技巧,需要的朋友可以参考下     本文实例讲述了JS上传图片前实现图片预览效果的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd"> <html xmlns=&quo

Three.js学习之文字形状及自定义形状_javascript类库

1.文字形状 说起3d文字想起了早年word里的一些艺术字: 那么TextGeometry可以用来创建三维的文字形状. 使用文字形状需要下载和引用额外的字体库.这里,我们以 helvetiker字体为例. 引用: <script type="text/javascript" src="你的路径/helvetiker_regular.typeface.json"></script> TextGeometry的构造函数是: THREE.TextG

javascript-python爬虫如何抓取包含JavaScript的网页中的信息

问题描述 python爬虫如何抓取包含JavaScript的网页中的信息 这里本科生一枚..做本研要求抓取一些数据碰到了一些问题求指教> <我想要抓取汽车之家上关于供应商的一些数据,然后在车型详情页里找到了关于供应商的框架源代码如下(只截取有用部分):<br> //属性<br> document.domain = "autohome.com.cn";<br> var page=1;<br> var parameters = {

凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度

使用的时候记得更改百度地图的开发者KEY <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度</title> <script type="text