AJAX 提交 FormData 报data undefined

直接上代码js里的
$('#submit').click(function(){
var shop = {};
shop.shopName = $('#shop-name').val();
shop.shopAddr = $('#shop-addr').val();
shop.phone = $('#shop-phone').val();
shop.shopDesc = $('#shop-desc').val();
shop.shopCategory = {
shopCategoryId:$('#shop-category').find('option').not(function(){
return !this.selected;
}).data('id')
};
shop.area = {
areaId:$('#area').find('option').not(function(){
return !this.selected;
}).data('id')
};
var shopImg = $('#shop-img')[0].files[0];
var formData = new FormData();
formData.append('shopImg',shopImg);
formData.append('shopStr',JSON.stringify(shop));
var verifyCodeActual = $('#j_captcha').val();
if(!verifyCodeActual){
$.toast('请输入验证码!');
return;
}
formData.append('verifyCodeActual',verifyCodeActual);
alert(formData.get('shopStr'));
$.ajax({
url:registerShopUrl,
type:'POST',
data: formData,
contentType:false,
processData:false,
cache:false,
success:function(data){
if(data.success){
$.toast('提交成功');
}else{
$.toast('提交失败' + data.errMsg);
}
$('#captcha_img').click();
}
});
});
图片说明

12个回答

后台没返回吗 if前面console.log(data) 看看

success里面先不要判断,先打印你的data看看到底是什么格式

你这好像是Post请求,想保存某些信息。但是content-type设置成false.后台能接收到你传过去的数据么?
你调试,代码没有走进 success吧,没走进去当然是undefined,error也没写,就算ajax走错了,你也不知道

success里面先不要判断,先打印你的data看看到底是什么

data 的数据格式没有确定

既然有用打开调试工具,可以切到Network去看报文,看请求的返回信息。
另外,你这里只设置success事件,设置一下失败的事件,应该就能有信息输出了。

数据类型要以 json类型传输 设置ajax的dataType参数为"json"

ajax datatype 类型 , html、json、jsonp、script或者text 你的类型改一下,对应的
看看后台action 返回结果类型是否跟dataType匹配

先调试一下,看看是不是数据类型不正确

把 contentType 设置为 : application/json; charset=utf-8

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用formdata提交ajax请求
var form = $("#form_id")[0]; var oFile = $("#media").get(0).files[0]; var formData = new FormData(form); //FormData可以一次性获取form表单的全部内容 formData.append("name","名字"); //追加非form表单的内容 formData.append(...
ajax 返回值报undefined错误
[img=https://img-bbs.csdn.net/upload/201707/11/1499769241_516481.jpg][/img]
ajax提交data类型
ajax提交data类型 一、问题来源 今天使用ajax时,发现get传data时,传递json字符串时传不过去参数,所以做了一些实验测试ajax的get和post的传递data时的不同。 二、概念 ajax有三种传递传递data的方式: json格式 json字符串格式 标准参数模式 1.json格式 形如: {“username”:”chen”,”nickname”:”...
ajax formdata 提交 页面端返回乱码
//发布企业快讯 function addCpNews(obj){ var formData = new FormData($("#adNewsForm")[0]);     $.ajax({       url:"/comp/addCpNews",          type: 'POST',            data:formData,            async:
使用jquery的ajax方法提交FormData数据
html> head> title>测试title> meta charset="utf8"> script src="../js/jquery-1.11.3.min.js">script> head> bo
使用jquery的ajax formdata对象提交文件上传
以前的项目大多的使用jquery的插件来进行文件上传,对于就只引用jquery而不使用插件来上传文件之前未有写过,最近项目里有写到和用到,就记录一下,以后方便查找。 提示:存在浏览器皆容问题,谨慎使用。 HTML代码: <form id="infoLogoForm" enctype='multipart/form-data'> <div class=
H5 使用Ajax上传文件 提交FormData对象
简单的 ,前端代码如下 <div class="container"> <div class="form-horizontal"> <div class=&amp
ajax有图片的提交(用FormData)
function addInfo(me){     $(me).prop("disabled","disabled");// 避免恶意点击         // 参数         var manager = new FormData();         manager.append("poster_id", poster_id);         manager.append("displ...
Ajax使用formData提交带图片上传的表单
记录一下今天踩过的坑。。这么个问题居然搞了快两个小时了。ssm框架,前台form带图片上传,因为效验表单数据,所以不能直接submit。 formDat还是很简单的,有很多加值得方法,后台可以直接用对象接收。 使用ajax提交有很多种方式,说一下使用formDat,直接贴代码。 前端一个form表单,带图片 其实很简单,只需注意几个点。 1、用formData格式传输参数Controll...
FormData混合提交
  使用FormData存储数据,ajax提交表单  流文件与普通表单混合上传 FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具...
ext ajax提交报错 error:undefined status:undefined
提交form表单时提示 error:undefined status:undefinedrn经调试,此错误在ext-all-debug.js的第8665行form.submit(); 提示的错误。只要一调用form.submit()就提示此错误,不知道为什么。哪位高人帮忙解决一下哈。
ajax之POST传值,FormData()
1、 POST传值 //post.php 接收文件<?php print_r($_POST); ?>//post.html<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>post</title> <script type="text/javascript">
ajax上传图片到后台【formData】
在平时的项目中,我们会遇到各种各样的上传图片,大多数情况下我们会选择各种各样的插件进行上传,然后返回一个图片url,在进行相关其他业务 如果不用各种插件,运用ajax实现页面上传图片也是可以的,这里用到了formData 首先看一下formData的基本用法:FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台。只需要把 form 表单作为参...
Ajax formData上传文件 + 进度条
// require('./lib/ajax'); require('jquery'); var type=0,//0 dp 1 mt localHost = location.host.split('.'), localUrl = location.origin.search(/xxxx/g) > -1 ? '//g.xxxx.com' > -1 : '//g.xxxx.com
Ajax利用FormData提交表单
一、ajax提交纯表单(不包含文件或二进制或非ASCII数据)      ajax提交表单绕了很久,遇到一些问题进行测试下以加深理解,测试使用浏览器 49.0.2623.110 m,HTML使用HTML4标准。下文提到的ajax为原生javascript的ajax(脚本化HTTP),都是个人理解,如有错误还望被指正。关于AJAX,XMLHttpRequest,FormData等应该还有许多待深入
ajax用FormData上传文件
成功的上传文件少不了后台的配合,也需要前台的努力 1.判断文件类型 在实际开发过程中既可以在change或者blur的时候去判断,也可以点击触发上传前去判断文件的类型。 我们通过input.value可以获得文件的名称,截取最后一个点之后的字符串可以获取到文件后缀名 var fileName = input.value, pointIndex,suffixName; // pointInd...
通过ajax上传formdata
var fd = new FormData(document.querySelector("form")); fd.append("CustomField", "This is some extra data"); $.ajax({ url: "stash.php", type: "POST", data: fd, processData: false, // 不处理数据 c
ajax 上传图片到七牛云(FormData)
======================= input ======================== ======================= JQ ======================== $(‘#head_img’).change(function(event) { var formData = new FormData(); ...
FormData通过ajax上传文件
$('#bt).click(function(){ var imgUrl = $('#cut_photo').attr('src'); //base64流数据 sumitImageFile(imgUrl,thisObj); });function sumitImageFile(base64Codes,thisObj){ var formData = new FormDa
ajax formData 异步上传表单
ajax formData //收集表单信息 ajax上传 function ajaxFormData(){ //获取要提交的form表单 var form=$('.address_select form')[0]; var fd=new FormData(form);//创建FormData对象 //添加或者修改表单中的
利用FormData提交表格数据
FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。1、创建FormData对象//第一种方法: var formdata=new FormData(); //通过formdata.append(&quot;&quot;,&quot;&quot;)添加键值对的方法,添加要提交的数据 formdata.append(&quot;abc&quot;,&quot;abdfdfsf&quot;);//第二种方法: //获得一个form表单的D...
jquery FormData异步提交文件
.a-upload { padding: 4px 10px; height: 20px; line-height: 20px; position: relative; cursor: pointer; color: #888; background: #fafafa; b
ajax提交data到底应该写什么
1.第一种方式 使用JSON语法创建JSON对象,如图所示:title和content没有引号 2.第二种方式 使用上述 blog JSON对象把title和content加引号也可以 判断你的JSON对象写的对不对 :打开F12看是不是如图所示 ...
【JQuery】$.ajax中data提交一个对象
最近使用JQuery的ajax请求时遇到一个问题,请求的参数正确后端却接收不到参数。请求参数如图:原因:由于后端使用java接收,使用了springMVC的@RequestBody注解,必须传一个json对象。解决:更改ajax参数如图...
ajax 学习 无刷新提交表单数据(含文件上传),用formdata
报错:java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun...
前端AJAX FORMDATA 提交文件,服务端读取文件和文件名
1.需要service3.0 2.如果使用的spring,需要加上         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">                    这段话! 接收代码如下:List files = ((MultipartHttpServletReq
ajax提交formdata数据,为什么java后台服务器收不到
先贴一段表单代码rn rn rn rn rnJs代码rnfunction upload()rn rn var xhr=new XMLHttpRequest();rn var fd=new FormData();rn var file=document.getElementById("files").files[0];rn fd.append("multipartFile",file);rn xhr.upload.addEventListener("progress", uploadProgress, false);rn xhr.addEventListener("load", uploadComplete, false);rn xhr.addEventListener("error", uploadFailed, false);rn xhr.addEventListener("abort", uploadCanceled, false);rn xhr.open("POST", "file_save");rn xhr.send(fd);rn rnrn后台我使用SpringMVC来实现控制器rn@RequestMapping("file_save")rn public void saveFile(@ModelAttribute UploadFile myfile,HttpServletRequest request,rn @ModelAttribute String name)rn rn rn MultipartFile f=myfile.getMfile();rn String fileName=f.getOriginalFilename();rn tryrn File file=new File(request.getServletContext().getRealPath("image"),fileName);rn f.transferTo(file);rn rn catch(IOException e)rn e.printStackTrace();rn rn rnrn这个uploadFile是我封装了MultipartFile的对象rnpublic class UploadFile rnrn private MultipartFile mfile;rnrn rn public MultipartFile getMfile() rn return mfile;rn rnrn public void setMfile(MultipartFile mfile) rn this.mfile = mfile;rn rn rnrnrn我的问题就是我后台要怎么接收这个上传的文件呢,初学SpringMVC ,希望有人帮忙解决一下。
jquery ajax一起提交文件和表单元素(运用FormData)
最近开发遇到要上传文件和表单元素,表单元素是上传文件的描述,要一起上传,这里我探索出来两个可行路径。
laravel5.5 ajax 提交文件 formdata 上传文件 带有上传进度条
现在就是在后台验证格式,应该在前台进行验证,这样使用体验更好,如果在后台进行验证的话,那么就会文件上传完成了之后才会返回错误信息,当文件过大,那么等待的时间就会很长,我是设置了,上传文件之时,不可点击,当上传完成之后才可以。 html代码 &amp;lt;form class=&quot;am-form am-form-horizontal&quot; id=&quot;uploaddia...
使用ajax 和 FormData 实现无刷新提交 带文本和文件的表单
在写代码的时候,经常会用到提交表单到后台。但是,提交后会刷新页面,然而这就不是我们想要的。怎么办?ajax? 可惜ajax并不支持同时提交文本和文件到后台。。怎么办????? 别急,今天我们就来解决这个问题。 方案:使用FormData 首先,在js中新建一个FormData,同时获取form给其赋值。 var data1 = new FormData($('#updateInfoFor
ajax总结:formdata,get,post,ajax等
ajax总结,load,get,post,ajax总结,还有formdata~~~
原生ajax结合formData上传图片
html部分: &lt;form&gt; &lt;input type="file" id="file"&gt; &lt;/form&gt; &lt;div class="img_box"&gt; &lt;img src="" alt=""&gt; &lt;/div&gt; js部分: // 上传图片 var file = document.querySelector...
Ajax使用FormData对象上传文件
一:网上查到的归纳     FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单"。 var formData = new FormData(); formata.append('file', $('#file')[0].files[0]); $.ajax({ url: '/upload', type: 'P
使用FormData进行Ajax上传文件
常用Ajax提交通过URL参数提交,提交方式“POST”,”GET”等,而如果需要通过Ajax提交文件则需要用到FormData。 FormData用法:1、使用FormData实例化表单数据//实例化表单 var form=document.getElementById('myForm'); var formData=new FormData(form); //添加数据 formData.appe
FormData以及原生Ajax上传图片
Ajax对于表单提交来说,是一个很好的工具,他提供了异步提交的效果,这使得用户提交表单时不需要刷新页面就可获知提交成功与否,但一直以来,网上的示例大都是JQuery上传的教程,原生Ajax似乎并不受大家热爱,更别提原生Ajax上传图片的教程了,本篇将为你讲述JavaScript中使用FormData上传文件的教程 FormData FormData对象用以将数据编译成键值对,以便用XMLHtt...
FormData的使用之Ajax文件上传
今天使用Ajax上传文件的时候,用到了formData,最后用console.log打印formDta怎么都打印不出来,后来发现使用错误。 原因是new FormData的参数是一个DOM对象,而非jQuery对象 具体使用方法见下面参考链接–地址。 ...
ajax自定义FormData进行文件上传
html: &amp;lt;div class=&quot;row&quot;&amp;gt; &amp;lt;div class=&quot;col-md-6&quot;&amp;gt; &amp;lt;div class=&quot;form-group&quot;&amp;gt; &amp;lt;label class=&quot;control-label&quot;&amp;gt;白名单&amp;lt;
formdata ajax上传文件前后台代码
使用formdata ajax向后台上传文件,Controller接收数据,返回前台JSON数据
ajax使用formdata 提示错误
ajax使用formdata 提示Argument 1 of FormData.constructor is not an objectn向后台传输一个表单对象n```n$(document).ready(function () n var formData = new FormData("#form1");n formData.append('upLoad', $('input[type=file]')[0].files[0]);n $.ajax(n url: "Handler3.ashx",n type: "POST",n data: formData,n async: true,n cache: false,n processData: false,n success: function () n ,n error:function()n n );n) n```nn
FormData实现ajax方式文件上传
保存 function submitInfo(){ var fd = new FormData(document.getElementById("testForm")); var excelFile = $('#upfile').val(); if(null != excelFile && '' != excelFile) { $.ajax({
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview