Jquery Ajax Form表单重复提交

后台服务器根据前台传递的参数,生成了若干个文件,之后前台需要下载这些文件
每次表单参数为需要下载的文件名称,需要在button的click事件中将所有产生的这
些文件下载下来,所以需要循环提交表单,不知道这个应该怎么解决
$.ajax({……
,success:function(result){
table.rows('.selected').indexes().each(function(idx){//这里需要多次提交
var d = table.row(idx).data();
$('input[name='filename']').var(d.filename);
$("form[name='downloadform']").submit();
});
}
});
//这里只能将第一次提交的结果传递给后台下载controler来解决

3个回答

见表单的target设置为_blank在新窗口打开即可。否则你服务器要经多个文件打包为rar,只提供一个文件下载

passportfordownload
passportfordownload 试了试,设置更长也是不行,chrome还是只提交了第一次的参数
大约 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复passportfordownload: 你设置计时器更加长一点试试,chrome对js做过优化,可能只提交最后的那次
大约 5 年之前 回复
passportfordownload
passportfordownload 用了一个定时器,将提交部分写到定时器里,现在IE里面能实现多次提交了,但chrome中还是不行
大约 5 年之前 回复
passportfordownload
passportfordownload 用了一个定时器,将提交部分写到定时器里,现在IE里面能实现多次提交了,但chrome中还是不行
大约 5 年之前 回复
passportfordownload
passportfordownload 用了一个定时器,将提交部分写到定时器里,现在IE里面能实现多次提交了,但chrome中还是不行
大约 5 年之前 回复
passportfordownload
passportfordownload 回复showbo: each(function(idx){ setTimeout(function(){ … },idx*5); })
大约 5 年之前 回复
passportfordownload
passportfordownload 没找到submit的定义,目前来看,就是循环提交并没有执行,只是循环结束后,执行了一次调用后台controler
大约 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复passportfordownload: 你是不是用了其他插件重写过submit事件了?submit会提交表单,设置target为_blank会在新窗口打开action中指定的地址的。不行就用window.open('xxxxx.aspx?filename='+d.filename)
大约 5 年之前 回复
passportfordownload
passportfordownload 回复showbo: 任然只会提交一次,下载结果就是第一次提交表单参数返回结果
大约 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复passportfordownload: java不太清楚。。用js设置 $("form[name='downloadform']").attr('target','_blank').submit();
大约 5 年之前 回复
passportfordownload
passportfordownload @showbo sheet页中Form的定义方式如下 @using (Html.BeginForm("AddDIYBillOfLading", "BillOfLading", FormMethod.Post, new { name = "downloadform"})) { @html.Hidden("filename"); } 将new { name = "downloadform"} 更改成 new { name = "downloadform", target = "_blank"}? _这样好像不管用_
大约 5 年之前 回复

换个思路吧:
增加一个div, 把所有的下载链接都放在这里面来, 提示用户点击下载即可。 你省事, 用户也不用多想。 

弹出多个窗口了吗?可能闭包没做好。要不你动态往body添加新表单,提交这个新表单,这样不同表单应该不会有问题

 $.ajax({ success: function (result) {
        $("form[name='downloadform']").attr('target', '_blank');
        table.rows('.selected').indexes().each(function (idx) {//这里需要多次提交
            var d = table.row(idx).data();
            var f = $('<form method="post" style="display:hidden" target="_blank" action="xxxxxxx"><input type="hidden" name="filename" value="' + d + '"/></form>');
            f.appendTo(document.body);
            f.submit();
        });
    }
    });
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jQuery easyUI form ajax提交是假的吗??
今天学习easyUI的form表单,说他有个ajax提交数据的功能,我在服务器端设置了一道屏障,如果不是ajax请求则跳转到404页面。 结果,每次提交表单都是404了,看了下请求头,根本不是ajax提交。 我对比了一下其他ajax请求头,成功的都会有个 X-Request-With:"XMLHttpRequest" , 但是form的ajax方式就没有easyUI所说的ajax提交是不是假的啊??? ![](http://img.bbs.csdn.net/upload/201605/15/1463310706_520801.png) 我把官方给的几种使用方式都试了,不行啊!!! 别骂我,我只是个刚入门的孩子,什么高级的底层的,一概不懂,只是想知道怎么做才能通过我在服务器端设置的非ajax请求跳转到404的屏障。
jquery 获取form表单内容形成二维数组
html: ``` <form> <input type="text" name="yy_14" value="1000"><input type="text" name="sj_14" value="2000"> <input type="text" name="yy_15" value="3000"><input type="text" name="sj_15" value="3500"> <form> ``` 用jquery得到form的值通过ajax传给php 然后怎么处理才能得到下面的数组呢? 数组 ``` array( [14]( yy => 1000 sj => 2000 ) [15]( yy => 3000 sj => 3500 ) ) ``` 找高手求教!!!
jquery form表单 ajax post 请求
我写了一个登录页面,,不知该如何发送ajax请求,,希望会的朋友们能帮我解答下
Jquery Ajax 提交表单 JSP页面局部刷新 javascript 中写的code不执行
下面是我碰到的具体问题,一直很是郁闷!我贴下我的代码,如果解决了,小弟不甚感激。。。 js 代码: [code="js"] //ajax 执行成功的回调函数 function showSuccess(data){ alert('执行成功!!!'); } function showError(){ alert('出错啦!!!'); } //ajax提交采购或者销售项 function addGoodsItems(){ if($("#goodsName").val() == ""){ alert('货品不能为空!'); }else if($("#amount").val() == 0){ alert('数量需多余0'); }else if($("#price").val() == ""){ alert('单价不能为空'); }else{ $(document).ready(function(){ alert('这个方法始终就是没有起作用?????????'); $("#itemsForm").submit(function(){ //ajax 提交参数 var options = { dataType:'json', resetForm:false, success:showSuccess, error:showError, timeout:10000 } //提交表单 $(this).ajaxSubmit(options); // 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false return false; }); }); alert('方法执行到这儿了!!'); } } [/code] 涉及的页面: [code="html"] <form id="itemsForm" action="addGoodsItems.action" method="post"> <table> <tr> <td> 存货名称: </td> <td> <input type="text" name="goodsItems.goodsName" id="goodsName" class="baseline" value="${pcb.goodsItems.goodsName}" style="width: 150px;" /> <input type="button" value="选择存货" onclick="selectGoods()" /> </td> <td width="40px;"></td> <td> 存货地点: </td> <td> <input type="text" name="goodsItems.stockPlace" id="storage" class="baseline" value="${pcb.goodsItems.stockPlace}" style="width: 150px;" /> <input type="button" value="存货地点" onclick="selectPlace()" /> </td> </tr> <tr> <td> 物品数量: </td> <td> <c:choose> <c:when test="${goodsItems.amount == null}"> <input type="text" name="goodsItems.amount" id="amount" onfocus="onfocusSelect(this)" onblur="jsje()" style="text-align: right;" value="0" /> </c:when> <c:otherwise> <input type="text" name="goodsItems.amount" id="amount" onfocus="onfocusSelect(this)" onblur="jsje()" class="baseline" style="width: 50px; text-align: right;" value="${goodsItems.amount}" /> </c:otherwise> </c:choose> </td> <td></td> <td> 单价: </td> <td> <select id="priceType" name="goodsItems.priceType" onchange="selectPrice(this)" style="width: 100px;"> <c:choose> <c:when test="${pcbtype == 0 || pcbtype == 1}"> <option value="0"> 采购标准价 </option> <option value="1"> 采购最高价 </option> </c:when> <c:when test="${pcbtype == 2 || pcbtype == 3}"> <option value="2"> 销售标准价 </option> <option value="3"> 最低销售价 </option> </c:when> </c:choose> </select> <input type="text" id="price" name="goodsItems.price" onblur="jsje()" /> </td> <td width="10"></td> <td> 折扣率: </td> <td> <input type="text" id="discountRate" name="goodsItems.discountRate" style="text-align: right" onblur="jsje()" value="${pcb.goodsItems.discountRate}" /> </td> </tr> <tr> <td> 折扣额: </td> <td> <input type="text" id="zke" value="0.00" disabled="disabled" style="text-align: right" /> <input type="hidden" id="discount" name="goodsItems.discount" value="${goodsItems.discount}" /> </td> <td width="20"></td> <td> <c:choose> <c:when test="${pcbtype == 0 || pcbtype == 1}"> 采购额: </c:when> <c:when test="${pcbtype == 2 || pcbtype == 3}"> 销售额: </c:when> </c:choose> </td> <td> <input type="text" id="je" value="0.00" disabled="disabled" style="text-align: right" /> <input type="hidden" id="procureCellMoney" name="goodsItems.procureCellMoney" value="${goodsItems.procureCellMoney}" /> </td> <td colspan="4"></td> </tr> <tr> <td> 说明: </td> <td colspan="8"> <input type="text" id="notes" name="goodsItems.notes" style="width: 500px;" /> </td> </tr> <tr> <td colspan="9" align="right"> <input type="button" value="保存分录" onclick="addGoodsItems()" /> <input type="reset" value="重置" /> </td> </tr> </table> </from> [/code] action 代码: [code="java"] public String addGoodsItems(){ log.info("获得的存货名称是:"+goodsItems.getGoodsName()); log.info('这里面我准备将form表单中提交过来的数据存到session中去,如果,我提交采购单的话,才将session中的值取出来存到数据库中,session中我想的是存放一个goodsMap'); return "addItems"; } [/code] struts.xml 代码: [code="xml"] <package name="goodsItems" extends="json-default"> <action name="addGoodsItems" class="xxpcb" method="addGoodsItems"> <result name="addItems"> <!--<param name="includeProperties">goodsItemsMap.*</param>--> </result> </action> </package> [/code]
jQuery 的ajax POST提交不了数据?
现在手jQuery和struts 如下的提交方法,在action中,所有的form表单都取不到,全为null 参数放在url后面的话可以取到 这是什么原因?? [code="javascript"] $.ajax({ url: 'lomcItemAE.do', type: 'POST', timeout: 30000, error: function(){ alert('Error loading XML document'); }, success: function(xml){ alert(xml); $(xml).find("model").each(function(i){ alert($(this).text()); }); } });[/code] [b]问题补充:[/b] 用的是form ,不是<html:form> 而且 form 里也写了action 还有个jquery 读XML在IE与FF下不一致
ajax form 同步提交问题
代码如下(表单里有文件file 需要到后台验证大小) var limitFlg ; function chuli(){ uuid();//调用下面的ajax函数 alert(limitFlg);//显示了undefined 而没显示false和true //好像不是同步提交的 像是异步提交的 } function uuid(){ //先执行ajax到后台验证 $("#form1").form('submit',{ async: false, url: path+'/fax/singleSend/verifyLimit.html', success:function(data){ if(data=='fail'){ //给全局变量定义标志 limitFlg = true; alert('上传文件不能大于2M,请精简上传文件'); }else{ limitFlg = false; } } }); }
jquery 表单验证先后顺序的问题
表单里<input>设置data-val="true" ,说明这个字段是必须的,这个验证表单没什么问题, 然后我Ajax验证表单里面的某些数据是否在数据库重复。 正常的顺序是第一步:先验证表单数据是否为空,第二步:后台ajax验证数据重复。 我在$("#form").submit(function (e) {});用ajax验证后台数据是否重复。 但是每次点击表单提交后,都是.submit函数先执行后台验证,才到表单验证数据是否为空。 请问怎么才能将验证的顺序反过来?
jQuery的ajax的访问路径总是访问不到
用form表单的action访问的时候需要指定绝对路径,但是在ajax中该怎么指定?
jQuery-serialize() 序列化 Form表单
<script type="text/javascript"> var path = "${pageContext.request.contextPath}"; $(document).ready(function(){ var url = path+"/webservice/getUser"; var queryString = ""; queryString = "?"+$("#search").serialize(); decodeURIComponent(queryString,true); $("#btn1").click(function(){ alert($("#search").serialize()); $("#resultDiv").load(url+queryString,function(response, status, xhr){ alert("提交成功!"+ status); }); }) }) function ajaxGet(){ var url = path+"/webservice/ajaxGet"; $.get(url,function(data,status){ alert("数据:"+data+",状态:"+status); alert(" 牛牪犇"); }); alert("回调成功!"); } </script> <body> <div> <h2> WebService </h2> ${web } </div> <div id="seacrhDiv"> <form id="search" name="search" method="get" action="${pageContext.request.contextPath}/webservice/getUser"> 姓名: <input type="text" name="name" id="nameId" value="1111"><br/> 密码: <input type="text" name="passw" id="passwId"><br/> <input type="button" value="jQuery提交" id="btn1"> <input type="submit" value="表单提交" id="btn2"> <input type="button" value="js提交" id="btn3" onclick="search()"><br/> <input type="button" value="ajaxGet" id="ajax" onclick="ajaxGet()"> </form> </div> <div id="resultDiv"> 开始页面: </div> </body> </html> ``` public class QueryForm { private String name; private String passw; private String patientValue; private Integer orgId; private Long patientId; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassw() { return passw; } public void setPassw(String passw) { this.passw = passw; } public String getPatientValue() { return patientValue; } public void setPatientValue(String patientValue) { this.patientValue = patientValue; } public Integer getOrgId() { return orgId; } public void setOrgId(Integer orgId) { this.orgId = orgId; } public Long getPatientId() { return patientId; } public void setPatientId(Long patientId) { this.patientId = patientId; } } ``` package com.founder.controller.annotation; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.founder.cxf.ws.HelloWorld; import com.founder.cxf.ws.impl.HelloWorldWs; import com.founder.entity.QueryForm; /** * * @author deng_tianguang * @version v1.0 * @see Controller 类注解 * */ @Controller @RequestMapping("/webservice") public class WebServiceController { @RequestMapping("/begin") public String addUser(HttpServletRequest request, HttpServletResponse response){ return "annotation"; } @RequestMapping(value="/getUser",method = RequestMethod.GET) public String delUser(HttpServletRequest request, HttpServletResponse response, ModelMap model, QueryForm queryForm){ String name = queryForm.getName(); String passw = queryForm.getPassw(); model.addAttribute("name",name); model.addAttribute("passw",passw); return "result"; } } 各位大牛,在序列化form表单的时候,queryForm 中无法获取<input> 表单元素中的值,若表单元素中有默认值,就可以获取的到,但是在页面上面更改了默认值,就无法再获取了。 求帮忙! 谢啦!
关于html+jQuery ajax+php的传值问题?
## 写jQuery ajax+PHP,用ajax提交“.html”的表单到“.php”,但是,传值一直出问题,提交表单总是报错:“SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data”。希望有大佬路过能救救萌新。下面是代码: 首先是html: ``` <form method="post"> <table border="0"> <tr> <td>姓名:</td> </tr> <tr> <td><input type="text" name="LoginName" maxlength="7" /></td> </tr> <tr> <td>密码:</td> </tr> <tr> <td><input type="text" name="LoginPassword" maxlength="15"/></td> </tr> </table> <button id="LoginSubmit">Start</button> </form> ``` 接着是js: ``` $('#LoginSubmit').click(function () { var LoginInput = $('#Login input'); var data = {"LoginName":LoginInput.eq(0).val(), "LoginPassword":LoginInput.eq(1).val()}; $.ajax({ type:"post", url:"../php/Login.php", async:true, contentType:'application/json; charset=UTF-8', dataType:'json', data:JSON.stringify(data), success:function (respon) { alert(respon); }, error: function() { alert("失败"); } }); window.location.href = "../php/Login.php"; return false; }); ``` 最后是PHP: ``` <?php header('Content-type: application/json'); $name = $_POST['LoginName']; $password = $_POST['LoginPassword']; if($name == "user"){ echo "1"; }else{ echo "0"; } ?> ``` 我用的是三个文件,“.html”、“.js”“.php”,看了很多解决方法不是涉及后端,就是没有用“.html”来做页面。也试过了很多方法,弄了三天还是没有解决。。。。。。还有萌新学生初来乍到,真的没有悬赏币,但是还是恳求有大佬来解答。
jquery.form.js异步上传完图片在post表单为啥post不了
下面是一个post表单 @using (Ajax.BeginForm("AddNewsInfoModel", "AdminNewsList", new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAdd" }, new { id = "Form1" })) { <table> <tr><td>标题</td><td><input type="text" name="Title"/></td></tr> <tr><td>作者</td><td><input type="text" name="Author" /></td></tr> <tr> <td>上传图片</td> <td><input type="file" name="FileUp" id="FileUpImage"/> <input type="submit" value="上传图片" id="btnFileUp"/> <input type="hidden" id="hidfileimage" name="ImagePath" /> <div id="ShowImage"> </div> </td> </tr> <tr> <td>新闻内容</td> <td> <input type="text" id="MsgContent" name="Msg"/> </td> </tr> </table> } </div> 先是异步上传图片,在post整个表单 function fileUpLoad() { $("#btnFileUp").click(function () { if ($("#FileUpImage").val() == "") { $.messager.alert("提示", "请选择要上传的文件", "info"); return; } $("#Form1").ajaxSubmit({ type: "post", enctype: 'multipart/form-data', url: "/AdminNewsList/FileUpLoad", success: function (data) { var servrdata = data.split(':'); $("#hidfileimage").val(servrdata[1]); if (servrdata[0] == "ok") { $("#ShowImage").append("<img src='" + servrdata[1] + "' width='40px' height='40px' />"); } else { $.messager.alert("提示", servrdata[1],"info"); } } }); return false; }); } 接下来post表单但是post不了 function submitform() { $("#Form1").submit(); } 在父窗体调用submitform handler: function () { var child = $("#AddNewsFrame")[0].contentWindow; child.submitform(); } 但是post不了 请大神帮忙看看
jquery mobile 页面跳转不能刷新
A页面form表单设置data-Ajax=false,跳转B页面后, 如果b页面不加载添加jquery mobile的js就可以刷新页面, 如果添加了jquery mobile的js再刷新页面form提交的数据就会丢失,求解
请大神帮忙解释下微信接口的这句话 (使用C#语言 jquery ajax请求)
调用示例(使用curl命令,用FORM表单方式上传一个多媒体文件): curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE" 如果ajax请求 这个接口应该写成什么样子的?(.net)
c#+jquery+ajax实现注册登录功能
数据库是sql server 客户端和服务器端怎么交换数据 页面代码如下 ``` <nav class="main_nav"> <ul> <li ><a class="cd-signin" href="#0">登录</a></li> <li ><a class="cd-signup" href="#0">注册</a></li> </ul> </nav> <div class="cd-user-modal"> <div class="cd-user-modal-container"> <ul class="cd-switcher"> <li ><a href="#0">用户登录</a></li> <li ><a href="#0">注册新用户</a></li> </ul> <div id="cd-login"><!-- 登录表单 --> <form class="cd-form" method="post"> <p class="fieldset"> <label class="image-replace cd-username" for="signin-username-email">姓名或邮箱</label> <input class="full-width has-padding has-border" id="signin-username" type="text" placeholder="输入姓名或邮箱" > </p> <p class="fieldset"> <label class="image-replace cd-password" for="signin-password">密码</label> <input class="full-width has-padding has-border" id="signin-password" type="text" placeholder="输入密码"> </p> <p class="fieldset"> <input type="checkbox" id="remember-me" checked> <label for="remember-me">记住登录状态</label> </p> <p class="fieldset"> <input class="full-width2" id="login" type="submit" value="登 录"> </p> </form> </div> <div id="cd-signup"> <!-- 注册表单 --> <form class="cd-form" method="post"> <p class="fieldset"> <label class="image-replace cd-username" for="signup-username">姓名</label> <input class="full-width has-padding has-border" id="signup-username" type="text" placeholder="输入姓名"> </p> <p class="fieldset"> <label class="image-replace cd-email" for="signup-email">邮箱</label> <input class="full-width has-padding has-border" id="signup-email" type="email" placeholder="输入mail"> </p> <p class="fieldset"> <label class="image-replace cd-password" for="signup-password">密码</label> <input class="full-width has-padding has-border" id="signup-password" type="text" placeholder="输入密码"> </p> <p class="fieldset"> <input type="checkbox" id="accept-terms"> <label for="accept-terms">我已阅读并同意 <a href="#0">用户协议</a></label> </p> <p class="fieldset"> <input class="full-width2" id="register" type="submit" value="注册新用户"> </p> </form> </div> <a href="#0" class="cd-close-form">关闭</a> </div> </div> ``` js代码如下: ``` jQuery(document).ready(function ($) { var $form_modal = $('.cd-user-modal'), $form_login = $form_modal.find('#cd-login'), $form_signup = $form_modal.find('#cd-signup'), $form_modal_tab = $('.cd-switcher'), $tab_login = $form_modal_tab.children('li').eq(0).children('a'), $tab_signup = $form_modal_tab.children('li').eq(1).children('a'), $main_nav = $('.main_nav'); //弹出窗口 $main_nav.on('click', function (event) { if ($(event.target).is($main_nav)) { // on mobile open the submenu $(this).children('ul').toggleClass('is-visible'); } else { // on mobile close submenu $main_nav.children('ul').removeClass('is-visible'); //show modal layer $form_modal.addClass('is-visible'); //show the selected form ($(event.target).is('.cd-signup')) ? signup_selected() : login_selected(); } }); //关闭弹出窗口 $('.cd-user-modal').on('click', function (event) { if ($(event.target).is($form_modal) || $(event.target).is('.cd-close-form')) { $form_modal.removeClass('is-visible'); } }); //使用Esc关闭弹出窗口 $(document).keyup(function (event) { if (event.which == '27') { $form_modal.removeClass('is-visible'); } }); //切换表单 $form_modal_tab.on('click', function (event) { event.preventDefault(); ($(event.target).is($tab_login)) ? login_selected() : signup_selected(); }); function login_selected() { $form_login.addClass('is-selected'); $form_signup.removeClass('is-selected'); $form_forgot_password.removeClass('is-selected'); $tab_login.addClass('selected'); $tab_signup.removeClass('selected'); } function signup_selected() { $form_login.removeClass('is-selected'); $form_signup.addClass('is-selected'); $form_forgot_password.removeClass('is-selected'); $tab_login.removeClass('selected'); $tab_signup.addClass('selected'); } }); //credits http://css-tricks.com/snippets/jquery/move-cursor-to-end-of-textarea-or-input/ jQuery.fn.putCursorAtEnd = function () { return this.each(function () { // If this function exists... if (this.setSelectionRange) { // ... then use it (Doesn't work in IE) // Double the length because Opera is inconsistent about whether a carriage return is one character or two. Sigh. var len = $(this).val().length * 2; this.setSelectionRange(len, len); } else { // ... otherwise replace the contents with itself // (Doesn't work in Google Chrome) $(this).val($(this).val()); } }); }; ``` 接下来该怎么写功能 与数据库交换数据 最好有详细代码 谢谢了!
Easyui 使用dialog窗口提交form表单 数据为空
我点击打开easyUI的dialog窗口时,后台接收的数据全部为null;但我直接使用jq的打开窗口并传输数据,后台都能获取到。我看网上有人说使用了dialog文档结构改变了,找不到对应的from?该怎么改啊 * js部分 ```javascript <script type="text/javascript"> /* 显示addDiv */ function addDiv() { $("#addTab").dialog({ title : '新增', width : 600, height : 400, modal : true }) $("#addTab").dialog("open"); } /* 提交新增 */ function add() { var $dialog = $("#addDiv"); var $form = $dialog.find("form[name=addForm]"); var formData = new FormData($form[0]); console.log($form); console.log(formData); $.ajax({ url : basePath + "/goodsAdd.json", type : "post", dataType : "json", data :formData, processData : false, cache : false, contentType : false, success : function(data) { if (data.num == 1) { $.messager.alert('提示', "新增成功"); $("#datag").datagrid("reload"); } else { $.messager.alert('提示', "新增失败"); } } }); } </script> ``` * HTML部分 ```html <body> <div id="addDiv" > <form name="addForm" method="post" enctype="multipart/form-data"> <table id="addTab"> <tr> <td>商品名称:<input id="goodsname1" class="easyui-textbox" name="goodsname" style="width: 150px"></td> <td>商品价格:<input id="goodsprice1" class="easyui-numberbox" name="goodsprice" data-options="validType:'goodsprice',required:true" style="width: 150px"></td> </tr> <tr> <td>保质&emsp;期:<input id="releasedate1" class="easyui-numberbox" name="releasedate" data-options="validType:'releasedate',required:true" style="width: 150px"></td> <td>生产日期:<input id="creationdate1" class="easyui-datetimebox" name="creationdate" data-options="validType:'creationdate',required:true" style="width: 150px"></td> </tr> <tr> <td>产&emsp;&emsp;地:<input id="producingarea1" class="easyui-textbox" name="producingarea" data-options="validType:'producingarea',required:true" style="width: 150px"></td> <td>商品类型:<input id="goodstype1" class="easyui-textbox" name="goodstype" data-options="validType:'goodstype',required:true" style="width: 150px"></td> </tr> <tr> <td>商品信息:<input id="goodsinfo1" class="easyui-textbox" name="goodsinfo" data-options="validType:'goodsinfo',required:true" style="width: 150px"></td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <img id="defaultImage" style="width: 250px; height: 150px; display: inline-block;" alt="默认商品" src="../../view/images/goods/wallhaven-2e3839.jpg"> </div> </td> </tr> <tr> <td colspan="2"> <div style="width: 100%; text-align: center;"> <input name="upImage" class="easyui-filebox" style="width: 300px" data-options="buttonText:'选择文件',onChange:showImage"> </div> </td> <td> <input type="hidden" id="goodsimagename" name="goodsimagename" value="wallhaven-2e3839"> <input type="hidden" id="goodssuffix" name="goodssuffix" value="jpg"> <input type="hidden" id="goodsimagetype" name="goodsimagetype" value="image/jpg"> <input type="hidden" id="goodsimagesize" name="goodsimagesize" value="8888"></td> </tr> <tr> <td colspan="2" style="text-align: center;"><a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add',onClick:add">提交</a></td> </tr> </table> </form> </div> </body> ```
struts2 jquery ajax 中文乱码 我按着网上说的做了 还是不行
用的是SSH2整合框架,服务器端jsp页面和客户端页面编码均设为gb2312 struts.properties中设置: struts.i18n.encoding=gb2312 jquery ajax编码语句: var data = "search_data=" + encodeURI(searchData)+"&scope="+scope; (escape我也试了,总是不行……) 这是截获的post数据: search_data=%E6%B0%91%E6%AD%8C&scope=lyric 服务器端解码语句: search_data = URLDecoder.decode(search_data, "utf-8"); 但是解码之前后search_data的值并没有转变,为:姘?姝? (对了,用form表单提交的中文数据,能够正常得到) 请帮忙,谢谢 [b]问题补充:[/b] 又用了 encodeURIComponent 还是不行…… [b]问题补充:[/b] 对呀,我的意思就是: 1.我在浏览器输入:“民歌” 2.然后encodeURI(“民歌”),编码为utf-8 (因为我抓的包就是%E6%B0%91%E6%AD%8C,说明到目前正常) 3.但是到了服务器端自动,变为“姘?姝?”乱码(我觉得应该是“%E6%B0%91%E6%AD%8C”才对) 4.是不是struts2的什么配置,不utf-8编码,给转成其它编码了?? [b]问题补充:[/b] 现在好了,我在调试一下,然后总结一下,发上了 先谢谢各位的帮忙 嘻嘻
求助!ajax传递参数给controller层,报400错误。新手求助
ssm项目,一个人事管理系统,我的毕业设计。 ajax传递参数给controller层,前端报400错误,后端不报错: ![图片说明](https://img-ask.csdn.net/upload/202003/20/1584709984_827117.png) 功能是这样的:点击新增,弹出layer层,一个form表单,输入信息后,将表单中的值传递给controller层,然后进行insert。 这里点击确定后,报400,后端不报错。 这是我的前端请求: ``` ``` //layer弹出层 function pop(){ $(".add").click(function (){ //页面层-自定义 layer.open({ type: 1, title: '新增', closeBtn: 0, shadeClose: true, btn:["确定","取消"], skin: 'layui-layer-rim', area:['450px','320px'], content: $("#form").html(), yes:function (index,layero){ var name_ = $(layero).find(".name").val(); alert(name_) var sex = $(layero).find(".sex").val(); var deparment =$(layero).find(".deparment").val(); var work = $(layero).find(".work").val(); var work_type = $(layero).find(".work_type").val(); var tel=$(layero).find(".tel").val(); var become_full = $(layero).find(".become_full").val(); var data = {"name":name_, "sex":sex, "deparment":deparment, "work":work, "work_type":work_type, "tel":tel, "become_full":become_full } var d = JSON.stringify(data); console.log(d) $.ajax({ type:"GET", DataType:"JSON", contentType:"applicaiton/json", data:JSON.stringify(data), url:"/employeeController/addEntry", success:function(data){ alert("addEntry success!") }, error:function (){ console.log("addEntry error!") } }) } }); }) } ``` 这是我的form表单: ``` <form id = "form" class = "form" style="display:none"> <ul id ="form_ul"> <li><h4>姓名:</h4><input type="text" class = "name"></li> <li><h4>性别:</h4><input type="text" class="sex"></li> <li><h4>部门:</h4><input type="text" class="deparment"></li> <li><h4>职位:</h4><input type="text" class="work"></li> <li><h4>工作类型:</h4><input type="text" class="work_type"></li> <li><h4>手机号:</h4><input type="num" class="tel"></li> <li><h4>转正日期:</h4><input type="date" class="become_full"></li> </ul> </form> ``` 这是我的controller方法 : ``` //入职管理,添加 @RequestMapping(value="addEntry",method = RequestMethod.GET) @ResponseBody public void addEntry(HttpServletResponse response,@RequestBody Entry entry){ System.out.println("employeeName:"+entry.getName()); int rows = employeeService.addEntry(entry); String json = JSON.toJSONString(rows); response.setCharacterEncoding("utf-8"); response.setContentType("utf-8"); try { response.getWriter().write(json); } catch (IOException e) { e.printStackTrace(); } } ``` 这是我的实体类: package com.clgc.entity; import java.util.Date; //入职管理类 public class Entry { private int id; private String name; private Sex sex; private String deparment; private String work; private String work_type; private String tel; private Date become_full; private String strBecome_full; private String resumae;//简历 public Entry() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Sex getSex() { return sex; } public void setSex(Sex sex) { this.sex = sex; } public String getDeparment() { return deparment; } public void setDeparment(String deparment) { this.deparment = deparment; } public String getWork() { return work; } public void setWork(String work) { this.work = work; } public String getWork_type() { return work_type; } public void setWork_type(String work_type) { this.work_type = work_type; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public Date getBecome_full() { return become_full; } public void setBecome_full(Date become_full) { this.become_full = become_full; } public String getResumae() { return resumae; } public Entry(int id, String name, Sex sex, String deparment, String work, String work_type, String tel, Date become_full, String strBecome_full, String resumae) { this.id = id; this.name = name; this.sex = sex; this.deparment = deparment; this.work = work; this.work_type = work_type; this.tel = tel; this.become_full = become_full; this.strBecome_full = strBecome_full; this.resumae = resumae; } public String getStrBecome_full() { return strBecome_full; } public void setStrBecome_full(String strBecome_full) { this.strBecome_full = strBecome_full; } public void setResumae(String resumae) { this.resumae = resumae; } @Override public String toString() { return "Entry{" + "id=" + id + ", name='" + name + '\'' + ", sex=" + sex + ", deparment='" + deparment + '\'' + ", work='" + work + '\'' + ", work_type='" + work_type + '\'' + ", tel='" + tel + '\'' + ", become_full=" + become_full + ", strBecome_full='" + strBecome_full + '\'' + ", resumae='" + resumae + '\'' + '}'; } } 将@RequestBody Entry entry这个controller的参数去点,可以成功访问到controller 还有一个问题: 之前我用的是post请求,但是报Request method 'GET' not supported 这个错误,我把post请求改为get,就报现在这个错误,现在又把get改为post,又报下面这个错误了。不知道怎么回事。 -> 报415 ![图片说明](https://img-ask.csdn.net/upload/202003/20/1584710950_483964.png) 求助各位大神!!! ```
关于jQuery ajax+PHP的传值问题,萌新初来乍到,没有悬赏。。。但恳求有大佬解答
## 写jQuery ajax+PHP,用ajax提交“.html”的表单到“.php”,但是,传值一直出问题,提交表单总是报错:“SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data”。希望有大佬路过能救救萌新。下面是代码: 首先是html: ``` <form method="post"> <table border="0"> <tr> <td>姓名:</td> </tr> <tr> <td><input type="text" name="LoginName" maxlength="7" /></td> </tr> <tr> <td>密码:</td> </tr> <tr> <td><input type="text" name="LoginPassword" maxlength="15"/></td> </tr> </table> <button id="LoginSubmit">Start</button> </form> ``` 接着是js: ``` $('#LoginSubmit').click(function () { var LoginInput = $('#Login input'); var data = {"LoginName":LoginInput.eq(0).val(), "LoginPassword":LoginInput.eq(1).val()}; $.ajax({ type:"post", url:"../php/Login.php", async:true, contentType:'application/json; charset=UTF-8', dataType:'json', data:JSON.stringify(data), success:function (respon) { alert(respon); }, error: function() { alert("失败"); } }); window.location.href = "../php/Login.php"; return false; }); ``` 最后是PHP: ``` <?php header('Content-type: application/json'); $name = $_POST['LoginName']; $password = $_POST['LoginPassword']; if($name == "user"){ echo "1"; }else{ echo "0"; } ?> ``` 我用的是三个文件,“.html”、“.js”“.php”,看了很多解决方法不是涉及后端,就是没有用“.html”来做页面。也试过了很多方法,弄了三天还是没有解决。。。。。。还有萌新学生初来乍到,真的没有悬赏币,但是还是恳求有大佬来解答。
ajax提交表单数据到后台失效问题怎么解决?
``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="<%=basePath%>"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添加部门</title> <script type="text/javascript"> function submitJson(formID, urlPath, message) { alert(1); $.ajax({ url : urlPath, type : "post", data: $('#' + formID).serializeArray(), contentType : "application/x-www-form-urlencoded", success : function(data){ alert(message); window.location.href="http://localhost:8080/admin" + data; }, error : function() { alert("处理异常!"); } }); }</script> </head> <body> <form:form modelAttribute="department" id="form1" method="post" > <fieldset> <legend>添加部门</legend> <p> <label>部门名:</label> <form:input path="dname" name = "dname" id="dname"/> </p> <p> <label>电话:</label> <form:input path="dtel" name = "dtel" id = "dtel"/> </p> <p> <label>描述:</label> <form:textarea path="describe" rows="5"/> </p> <p> <label>上级部门:</label> <form:select path="superdepartment"> <option value="0"/>请选择上级部门 <form:options items="${superdepartment }" itemLabel="dname" itemValue="id"/> </form:select> </p> <p id="buttons"> <input id="reset" type="reset"> <input id="submit" type="button" onclick="submitJson('form1','depart/addDepart', '添加成功!')" value="添加"> </p> </fieldset> </form:form> </body> </html> ``` 上面那个弹窗1是测试用的能显示,ajax这个方法进不去为什么?
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
使用 Python 和百度语音识别生成视频字幕
文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFileClip(video_file) video.audio.write_...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
立即提问