为什么ajax只执行一次

登陆界面用ajax提交表单的方式进行登陆后,进入一个页面,若在此页面通过a标签返回到登陆页后就无法在进行登陆,ajax不再执行,请问这种方式要如何解决。图片说明

4个回答

说明没有进入success回调里面罗,应该是你的url配置的地址报错了,如登陆状态下请求这个url做了说明判断什么的导致出错了,ajax又没有配置error回调,所以和没反应一样,增加error回调输出服务器返回了什么内容

,error:function(xhr){alert(xhr.responseText)}

u010940538
qytomorrow 是url配置的地址报错了。应该是/Login/ProcessLogin
接近 5 年之前 回复
u010940538
qytomorrow 回复showbo: 我的问题解决了,是url配置的资质报错了
接近 5 年之前 回复
u010940538
qytomorrow 回复showbo: 我的问题解决了,是url配置的资质报错了
接近 5 年之前 回复
u010940538
qytomorrow 回复showbo: 我的问题解决了,是url配置的资质报错了
接近 5 年之前 回复
u010940538
qytomorrow 回复showbo: 我的问题解决了,是url配置的资质报错了
接近 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复qytomorrow: post不存在缓存,get请求再ie下会有缓存,非ie核心的浏览器get请求不会缓存
接近 5 年之前 回复
u010940538
qytomorrow 回复showbo: 想请问一下,是否有可能是缓存问题,如果想要在URL后加上一个随机数math.random() ,格式是什么样子的。
接近 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复qytomorrow: 用chrome或者firefox的firebug开发工具看看报错了没有,ajax实际返回了什么内容
接近 5 年之前 回复
u010940538
qytomorrow 什么都没有返回。
接近 5 年之前 回复
u010940538
qytomorrow 什么都没有返回。
接近 5 年之前 回复
u010940538
qytomorrow 没有
接近 5 年之前 回复

根据来源判断,类似如下方式。记录标记位,然后根据标记位判断是否ajax加载

 a.html
 <a href="b.html">浏览b.html </a> 



 b.html
 <body> 
<script type="text/javascript"> 
var flag='0';
document.write(document.referrer); 
if(!document.referrer){
    flag='1';
}
</script> 
</body> 
u010940538
qytomorrow 请问如果确定了ajax不加载应该怎么做呢?
大约 5 年之前 回复

里面加个:async: false,看有没有用

u010940538
qytomorrow 试过了,还是没办法执行。
大约 5 年之前 回复

试过了async:false cache:false 都不正确

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
执行一次ajax请求会请求很多次
在写上拉加载程序中 发出一次下一页的ajax请求 会执行很多次这个请求 为什么呀??各位大神。。求解决办法。。在线等。。![图片说明](https://img-ask.csdn.net/upload/201609/18/1474181126_696575.png)
ajax后台代码重复执行
自己写个小程序,遇到个奇葩问题,在点击按钮发送ajax请求查询数据的时候,数据能正常显示,但是在火狐控制台有报错,报错原因是说语法错误,ajax返回内容为 "请求参数不正确!" 这句话是我在Controller层返回的.如果参数缺失才会提示这个.但是我检查后发现并不是参数缺失,而且请求被重复提交,第二次提交参数都丢失了,有点像被重定向了. 第一次数据有正常返回在页面显示,但是不知道为什么会又提交一次,并且网络请求里面只有一次请求!!! ![图片说明](https://img-ask.csdn.net/upload/201510/26/1445872837_367347.png) ![图片说明](https://img-ask.csdn.net/upload/201510/26/1445872910_705246.png) ![图片说明](https://img-ask.csdn.net/upload/201510/26/1445873454_929399.png) ![图片说明](https://img-ask.csdn.net/upload/201510/26/1445873561_584010.png) **js代码如下,触发是查询按钮的点击事件:** js代码检查过不可能重复执行; ``` function getData(startDate,endDate){ var rows=[]; $.ajax({ url:"queryAllUser.do", type:"POST", async:false, data:{'startDate':startDate,'endDate':endDate}, dataType:"json", success:function(data, textStatus){ for(var i=0;i<data.length;i++){ rows.push({ userId: "<a href=''>"+data[i].userId+"</a>", userName: data[i].userName, id: data[i].id, sex: data[i].sex, birthday: data[i].birthday, dateCreated: data[i].dateCreated, }); } } }); var tbodyHtml=""; for(var i=0;i<rows.length;i++){ tbodyHtml+= "<tr>"+ "<td>"+rows[i].userId+"</td>"+ "<td>"+rows[i].userName+"</td>"+ "<td>"+rows[i].id+"</td>"+ "<td>"+rows[i].sex+"</td>"+ "<td>"+rows[i].birthday+"</td>"+ "<td>"+rows[i].dateCreated+"</td>"+ "<td><a class='btn' data-trigger='confirm' href='#'><i class='icon-edit icon-large'></i> Update</a>&nbsp;"+ "<a class='btn' href='#'><i class='icon-trash icon-large'></i> Delete</a></td>"+ "</tr>" } if(rows.length==0){ tbodyHtml+= "<td colspan='7' class='active' style='text-align: center;'>没有指定时间段的数据!</td>" } $("#dataBody").html(tbodyHtml); } ``` **Controller层代码:** ``` @RequestMapping("/queryAllUser.do") public void queryAllUser(HttpServletRequest request ,HttpServletResponse response){ List allUserList; try { PrintWriter out = null; if(!checkParam(request, startDate)){ response.setCharacterEncoding(CommonStr.RETURN_CHARACTERENCODING ); out = response.getWriter(); out.write(CommonStr.CHECK_PARAM_ILLEGAL);//请求参数不合法! }else{ out = response.getWriter(); allUserList=userManagementService.queryAllUser(getParameter(request, startDate,endDate)); JSONArray jsonAry=JSONArray.fromObject(allUserList); out.write(jsonAry.toString()); } out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } ```
火狐浏览器同时提交两个ajax请求,只执行了一个??
文档框有一个change监听事件,当输入完毕,点击提交时,只是执行了change事件,而没有执行提交操作。在点击一次提交,才可以完成提交。再谷歌浏览器,一次点击就可以提交完成。请大神告诉我为什么?
ajax文件上传重复提交表单
求助,一个简单的文件上传功能,用ajax提交表单,当上传时间较长时,后台的方法会重复执行多次,如果时间短則只会上传一次。不知道什么原因
关于JS、AJAX程序逻辑、结构问题。
假如: 我用ajax取到一组数据 data 我需要根据data.length 创建 相应长度的表格 然后给表格的td赋值。 然后根据某个td 为 TR赋值。 那么! 当我要这些数据在每分钟刷新一次的时候。(只刷新数据) 那么表格也会再次重新创建。 问题:如何避免表格的重新创建! 我暂时的想法是:定义个变量a,在创建表格前做一次判断,执行后改变a的值。 这样做可以吗?如果可以,还有没有其他的方式方法?
js 怎么控制搜索重复执行
``` ``` success: function(rdata) { //服务器返回响应,根据响应结果,分析是否登录成功; var data = eval("("+rdata+")"); var swlist_data = data.body.dataStores.result.rowSet.primary; for(var i = 0; i < swlist_data.length; i++) { var swlist_title = swlist_data[i].title; var swlist_createTime = swlist_data[i].createTime; var create_DateTime = new Date(swlist_createTime).Format('yy-MM-dd hh:mm:ss'); var swlist_procInstanceId = swlist_data[i].procInstanceId; var parent = document.getElementById("swyblistul"); parent.innerHTML += "<li class=\"mui-table-view-cell mui-media\">" + "<a class=\"mui-navigate-right\" onclick=\"swybxq('" + swlist_procInstanceId + "');\">" + "<div class=\"list_ico mui-pull-left\">" + "<span class=\"mui-icon-extra mui-icon-extra-order\"></span>" + "</div><div class=\"mui-media-body\">" + "<div class=\"mui-ellipsis\">" + swlist_title + "</div>" + "<p>" + create_DateTime + "</p></div></a></li>"; } } ``` ``` 这是Ajax 成功向div 中innerhtml 因为用的是+= 所以我点击一次搜索 就会执行一些显示重复的数据。 但是考虑到用户可能在我的这个页面进行多次搜索,所以不能去赋值为true 执行完在赋值 false 来控制 因为这样只会执行一次 ,用户多次搜索就不能实现 所以各位大佬 有什么好的办法 谢谢
jQuery ajax form提交在IE8下不执行回调函数
// 上传文件 function myUploadExcel(obj) { var options = { url : "${ctx}/ins/pro/upLoadTempFile.do?filename="+obj.value, dataType : "text", beforeSubmit : function(formData,jqForm,options){ var filename = obj.value; if(filename == null || filename == '') { $.messager.alert('提示信息','请选择要上传的文件','warning'); MaskUtil.unmask(); return false; } var ext = filename.substr(filename.lastIndexOf(".")).toLowerCase(); if (obj.id=='excelFile') { if(ext != '.xls' && ext != '.xlsx') { $.messager.alert('提示信息','文件类型必须是excel','warning'); obj.outerHTML=obj.outerHTML; MaskUtil.unmask(); return false; } }else if (obj.id=='cadFile') { }else if (obj.id=='pdfFile') { if(ext != '.pdf') { $.messager.alert('提示信息','文件类型必须是pdf','warning'); obj.outerHTML=obj.outerHTML; MaskUtil.unmask(); return false; } }else if (obj.id=='textFile') { } return true; }, success : function(tempPath) { var realName=tempPath.substring(tempPath.indexOf("_")+1,tempPath.length); if (obj.id=='excelFile'){ //返回了excel地址,发一次请求获得方案信息,刷新可刷新数据 handleSchemeExcel(tempPath); $('#excelsrc').val(tempPath); $('#excelFile').hide(); $('#excelFileSrc').html(realName).show(); } } }; if (obj.id=='excelFile'){ $("#excelForm").ajaxSubmit(options); }else if(obj.id=='cadFile'){ //CAD文件地址放到上面form里面 $("#cadForm").ajaxSubmit(options); }else if(obj.id=='pdfFile'){ //PDF文件地址放到上面form里面 $("#pdfForm").ajaxSubmit(options); }else if(obj.id=='textFile'){ //text文件地址放到上面form里面 $("#textForm").ajaxSubmit(options); } } 文件能上传到指定的路径下,浏览器下方也提示成功,但是不执行回调函数,SUCCESS和error都不执行。但是在IE9,FF,Chorme都没有问题,求指导!
js代码为什么会重复执行2次
为什么我的js会重复执行2次,比如data返回0的时候,会弹出2次提示,就是点确定后又弹出一次提示,还要再点一次确定,窗口才会消失。 ``` function topic(pay,id){ var dia=$.dialog({ title:'<center>提示</center>', select:0, content:'<center><p style="color:red;margin-top:5px;">支付'+pay+'积分</p></center>', button:["支付","取消"] }); dia.on("dialog:action",function(e){ if(e.index==1){ return false; } var _tid=id; $.ajax({ type:"POST", url:"URL", data:{id:_tid}, datatype: "text",//"xml", "html", "script", "json", "jsonp", "text". success:function(data){ data=$.trim(data); if(data==-2){ alert('游客先登录!'); } if(data==-3){ alert('本人无需支付!'); } if(data==-4){ alert('查看失败!'); } if(data==-1){ alert('不需要支付!'); } if(data==2){ } if(data==0){ alert('积分不足,去赚积分!'); window.location.href = "URL"; } if(data==1){ window.location.reload(); } } , error: function(){ } }); // console.log(e.index) }); dia.on("dialog:hide",function(e){ // console.log("dialog hide") }); ```
使用jquery ajax判断用户名是否存在后,如果做表单提交?
各位大神好,我还没有学query,但在做练习的时候,需要判断用户名是否存在,于是尝试使用了下$.get()方法来获取action返回值。 用以下代码,我能正确获取到action的返回值。在使用返回值做判断也都是正常的,**但是在表单提交的时候**,无法正常的return,执行if的顺序也很奇怪 代码: ```javascript //检查用户名:不能为空,且不能重复 function checkUsername() { var username = document.getElementById("username").value; var username_message = document.getElementById("username_message"); username_message.style.fontSize = "12px"; //只需要判断是否为空,输入了内容会进行用户名存在的校验 if (username == "" || username.length == 0) { username_message.style.color = "red"; username_message.innerHTML = "请输入用户名"; return false; } //如果用户输入了内容,那么使用ajax验证用户名是否已存在 else{ var actionMessage; // ajax获取到action的查询结果 $.get("user_checkUsername.action?"+new Date().getTime(),{'username':username}, function(data){ alert("in ajax data is: "+data); actionMessage = data; alert("in ajax actionMessage is: "+actionMessage); //本来是在这里面完成判断的,发现有问题后提取出去,问题还是在 }); if(actionMessage=="exist"){ alert("if exist, actionMessage is: "+actionMessage); username_message.style.color = "red"; username_message.innerHTML = "用户名已存在"; return false; } else if(actionMessage=="ok") { alert("if ok, actionMessage is: "+actionMessage); username_message.style.color = "green"; username_message.innerHTML = "用户名可以使用"; return true; } else{ alert("if neither, actionMessage is: "+ actionMessage); return false; } } } ``` onblur失焦时会调用一次这个方法,然后提交表单时,也会调用一次。 问题:data的值是没问题的,不管失焦还是提交表单,alert的弹出顺序都是: if neither, actionMessage is: undefined in ajax data is: exist in ajax actionMessage is: exist 然后就结束了。 请问为什么会出现这种现象?if else的顺序难道不是应该从上到下吗?况且执行完了第一个alert,alert("if neither, actionMessage is: "+ actionMessage);后的return貌似没有执行? 在线跪求答案。
ajax responseText返回数据的问题
/*这个函数主要处理的是列出的url连接是否正常,在arr里面装的是每个url的id*/ function checknode(){ var arr = "[0,1,2,3,4,5]"; for(var i=0;i<arr.length;i++){ var xhr = getAjax(); var id=arr[i].toString(); xhr.open('get','pingCheck.jsp? tableName='+tableName+'&tableId='+tableId+'&id='+id+'&rand='+Math.random(),true);//代码执行到这里都正常,jsp后台的输出都正常; xhr.onreadystatechange=function(){ if(xhr.readyState==4){ var b =xhr.responseText.trim(); alert("b:"+xhr.responseText.trim());//就是执行到这里的时候,b得到jsp传过来的值都是一个,是id=5的url的连接情况,按正常的情况是每个url的情况各一次(6种情况)。还有就是 把open函数中的参数改成false,就正常了。能有大神给解释下为什么吗??小弟谢过了!!! var arr1 = b.split(","); var ids=arr1[0]; var is_ok=arr1[1]; var td=document.getElementById(ids); if(is_ok=="ok"){ td.innerHTML=is_ok; td.style.color='green'; }else{ td.innerHTML=is_ok; td.style.color='red'; } } }; xhr.send(null); } }
mvc4中ajax请求重定向问题
在mvc4中我有一个过滤器 在每一个action前都会先调用一次,里面的方法是用来判断用户是否登录如果是程序发出的请求还好可以重定向到登录页面 但ajax 的请求就无法重定向,我现在有一个解决方法但是 还是不完美 这是我的过滤器,如果是ajax的请求就在浏览器头部设置一个标记 ``` protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (UserInfo == null) { //如果是Ajax 请求的 要特殊处理 if (HttpContext.Request.IsAjaxRequest()) { //添加头部信息 前端会有ajax回调 判断 Response.AddHeader("sessionstatus", "timeout"); return; } else { //正常的请求 filterContext.Result = new RedirectToRouteResult( "Default", new RouteValueDictionary( new { controller = "Login/Login", action = "Login" })); } } else { base.OnActionExecuting(filterContext); } } ``` 如果标记是ajax的就 在我的js 里设置一段全局的 js代码 如果是标记的 就用js 来定向 登录页面 ``` /** * 设置未来(全局)的AJAX请求默认选项 * 主要设置了AJAX请求遇到Session过期的情况 */ $.ajaxSetup({ type: 'POST', complete: function (xhr, status) { var sessionStatus = xhr.getResponseHeader('sessionstatus'); if (sessionStatus == 'timeout') { //var yes = confirm('由于您长时间没有操作, session已过期, 请重新登录.'); //if (yes) { window.location.href = '/Login/Login/Login'; // } } } }); ``` 那么问题来了 我这里 设置完标记后 js也重定向了 但是 我请求的 query 这个查询方法 必须要 全部执行完 才重新定向登录页面 下面这个 方法会执行 ``` public string Query() { //string BeginDate = Request.Form["BeginDate"]; //string EndDate = Request.Form["EndDate"]; string MemberNO = Request.Form["MemberNo"]; string MemberName = Request.Form["MemberName"]; int pageIndex = Request.Form["page"] != "" ? Convert.ToInt32(Request.Form["page"]) : 0; int pageSize = Request.Form["rows"] != "" ? Convert.ToInt32(Request.Form["rows"]) : 0; StringBuilder WhereCode = new StringBuilder(" CompanyID = "+this.UserInfo.CompanyID); //if (!string.IsNullOrEmpty(BeginDate)) //{ // WhereCode.Append(" AND (RegisterDate >= '" + BeginDate + "')"); //} //if (!string.IsNullOrEmpty(EndDate)) //{ // WhereCode.Append(" AND (RegisterDate <= '" + EndDate + "')"); //} if (!string.IsNullOrEmpty(MemberNO)) { WhereCode.Append(" AND MemberNo ='" + MemberNO + "'"); } if (!string.IsNullOrEmpty(MemberName)) { WhereCode.Append(" AND MemberName like '%" + MemberName + "%'"); } WhereCode.Append(" AND (Status = 'A') AND (MemberType = '01')"); MemberService memberInfo = new MemberService(); string json = memberInfo.GetMemberInfo(WhereCode.ToString(), pageIndex, pageSize); return json; } ``` 不是 谁有好的解决方案 如果我是ajax 的请求 就让请求 不继续 执行 直接重定向
想实现一个进度条动态更新
想实现一个进度条动态更新:在for中循环一个ajax,若是同步,页面卡死,等所有ajax执行完毕后,进度条直接到达100%,如果异步,会先执行for循环,导致我的暂停不能使用,想要的效果是每循环一次,ajax执行一次,回调函数执行一次 ``` function updata(){ var ajax = new $ax(Feng.ctxPath + "/device/oriDataByYear", function (data) { for(var key in data){ var tableName = data[key][0]; var startTime = data[key][1]; var endTime = data[key][2]; var num = data[key][3]; var count = Math.floor(num/100); total += parseInt(num); for(let j = 0; j <= count; j++){ if(start){ aj3(tableName,startTime,endTime,j,start); } } } }); ajax.set('tableid',$("#tableid").val()); ajax.set('startTime',$("#startTime").val()); ajax.set('endTime',$("#endTime").val()); ajax.start(); } //单张表更新历史数据 function aj3(tableName,startTime,endTime,j,start){ if (start == true) { $.ajax({ type: 'get', url: Feng.ctxPath + "/device/getDataByTableId", data: { "startTime": startTime, "tableName": tableName, "endTime": endTime, "num": j * 100, "formula": $("#formula").val(), }, async: true, success: function (da) { init(da) } }); } } //更新进度条 function init(da){ flag += da; element.progress('demo', Math.floor((flag / total) * 100) + '%'); if (flag >= total) { $("#end").show(); $("#stop").hide(); Feng.success("历史数据更新成功!"); } } //暂停 $("#stop").click(function () { start = false; $("#end").html("退出"); $("#end").show(); $("#stop").hide(); }); ```
AJAX问题
我的问题是这样 两个下拉框 区县 </td> <td width="15%" > <aicore:select style="width:100%" name="resNumberGsmNew" property="countyId"onchange="getOfficeId()"> <option value="">选择</option> <aicrm:paramOptions key="all.county_id"/> </aicore:select> </td> <td width="10%" > 营业厅 </td> <td width="15%" > <div id="officeIdStr"> </div> </td> <td width="10%" > 我每次select 的时候 去onchange="getOfficeId()"> function getOfficeId() { 。。。。 { $.ajax({ url: "<%=com.asiainfo.frame.common.ConstantsWeb.webUrl%getOfficeId.so", 。。。 }调一个getOfficeId方法 在ACTION里执行 public String getOfficeId() { String nextPage = "officeStr"; String countyId = this.getRequest().getParameter("countyId"); String sql = "select dept_id,dept_name from tab_dept where countyid = '"+countyId+"'order by dept_name"; officeIdList = CommUtil.getStrsList(sql); return nextPage; 方法 在把值传回去给一个子页面 <aicore:select style="width:100%" name="resNumberGsmNew" property="officeId" <option value ="">全部</option> <%List list = (List)request.getAttribute("officeIdList"); for(int i=0;i<list.size();i++) {%> <option value ="<%=((String[]) list.get(i))[0]%>"><%=((String[]) list.get(i))[1]%></option> <% } %> </aicore:select> 可我每次点下一页的时候都刷新 保持不住 营业厅里面的值 那位能帮忙解决下 我把全部的文件上传让看看 [b]问题补充:[/b] </aicore:select> 自定义标签 详细的我已经传上去了可以下载看看 [b]问题补充:[/b] 这个问题困扰了我很久了,问了公司的很多人,一直都没有一个很好的解决办法,希望各位能帮个忙,谢谢了 [b]问题补充:[/b] 营业厅 </td> <td width="15%" > <div id="officeIdStr"> </div> </td> <td width="10%" > 一直都想当营业厅 的值在下一次刷新的时候如果和上次选中的是相同的的就保持住,不让它去刷新返回 [b]问题补充:[/b] 界面传上去 [b]问题补充:[/b] 其实一楼说的很对,下一步其实是个公共的,没去异步交互。整个工程都是这样,没办法对比的,很多都是直接<aicrm:paramOptions key="res.number_level"/>出来的
jQuery serialize 后续的success函数无法执行
事情是这样的,我用jq serialize提交一个表单内容给php,成功之后显示“提交成功” 试了几次之后发现,我每提交一次内容,url都会有变化(就是表单内容),然后页面就会刷新,然后后面那个提交成功之后的函数它就不执行了。 如果我两次提交的内容完全一样,url没有变化,那个提交成功的函数才会执行,这是怎么回收,不是说ajax不会刷新页面的么? 以下是jq函数 $(document).ready(function(){ $("#submitform2").click(function(){ $.ajax({ type:'POST', url: 'newalead.php', data: $('#form1').serialize(), success:function(){ alert('提交成功');} }); }) })
当OpenSessionInView 遇到Ajax
<p><span style="background-color: #888888;">OpenSessionInView</span> 把Hibernate的Session 带到了页面,解决了Hibernate 实体加载lazy问题。<br><br>我有一实际问题,标准使用是:<span style="background-color: #ffff00;">Jsp-&gt;Struts2 Action-&gt;JSP</span>,问题是现在页面使用AJAX验证,比如Jquery Validate Eng...,当所有验证都通过提交到Action,Action继续后台验证,最后Action不返回任何<span style="background-color: #ff00ff;">Result(return null)</span>,而返回Ajax验证需要的<span style="background-color: #ff00ff;">JSON</span>数据,利用JSP页面的AJAX验证框架跳转。<br><br>这样却无法实现OpenSessionInView.JSP得不到关联实体的属性。<br><br>流程是这样的:<br><span style="background-color: #ffff00;">JSP(1)-&gt;Action-&gt;JSP(1)-&gt;其他JSP (用户点击一次执行的操作),在 "其他JSP" 有使用lazy的实体对象属性。</span><br><br>是否是因为不再同一个request中了,而无法实现OpenSessionInView.</p> <p> </p>
Ext.Ajax.request做文件上传不执行回调函数?
我在做一个多文件上传,整体用的EXT,所以想用EXT的异步请求完成上传,上传没问题,就是上传完了,不执行回调函数,老自动弹一个下载"uploadFile.action"文件,其实就是一个json,好像是根本没执行回调函数,求各位老鸟解释下,并帮我解决,我不想别人上传完,总提示下载"uploadFile.action"。 页面代码: [code="java"] <form id="uploadForm" action="uploadFile.action"> <table border="0" cellspacing="1" class="fu_list"> <thead> <tr> <td colspan="2"><b>上传附件</b></td> </tr> </thead> <tbody> <tr> <td align="right" width="15%" style="line-height:35px;">添加附件:</td> <td><a href="javascript:void(0);" class="files" id="idFile"></a> <img id="idProcess" style="display:none;" src="../../images/upload/loading.gif" /></td> </tr> <tr id="fileList" style="display: none"> <td colspan="2"><table border="0" cellspacing="0"> <thead> <tr> <td>文件路径</td> <td width="100"></td> </tr> </thead> <tbody id="idFileList" name="idFileList"> </tbody> </table></td> </tr> <tr> <td colspan="2" style="color:gray">温馨提示:最多可同时上传 <b id="idLimit"></b> 个文件,只允许上传 <b id="idExt"></b> 文件。 </td> </tr> <tr id="uploadButton" style="display: none"> <td colspan="2" align="center" id="idMsg"><input type="button" value="开始上传" id="idBtnupload" disabled="disabled" /> &nbsp;&nbsp;&nbsp; <input type="button" value="全部取消" id="idBtndel" disabled="disabled" /> </td> </tr> </tbody> </table> </form> <SCRIPT type="text/javascript"> //以下为附件js代码 var isIE = (document.all) ? true : false; var $ = function (id) { return "string" == typeof id ? document.getElementById(id) : id; }; var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } } var Bind = function(object, fun) { return function() { return fun.apply(object, arguments); } } var Each = function(list, fun){ for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); } }; //提交操作 function doUpload(){ if(Efs.getExt("uploadForm").isValid()){ myMask.show(); Ext.Ajax.request({ //请求地址 url: 'uploadFile.action', //提交参数组 fileUpload: true, form: uploadForm, scope: uploadForm, //成功时回调 success: function(response, options) { //获取响应的json字符串 myMask.hide(); var json = response.responseText; var o= Ext.util.JSON.decode(json); // var s="<s:text name="o.msg"/>"; var s=o.msg; Ext.Msg.alert('<s:text name="msg_title"/>', s); }, failure: function (response,options){ myMask.hide(); var st='<s:text name="'+o.msg+'"/>'; Ext.Msg.alert('<s:text name="msg_title"/>', st); } }); } else Ext.Msg.alert('<s:text name="msg_title"/>', '<s:text name="msg_mustFill"/>'); } //文件上传 var FileUpload = Class.create(); FileUpload.prototype = { //表单对象,文件控件存放空间 initialize: function(form, folder, options) { this.Form = $(form);//表单 this.Folder = $(folder);//文件控件存放空间 this.Files = [];//文件集合 this.SetOptions(options); this.FileName = this.options.FileName; this._FrameName = this.options.FrameName; this.Limit = this.options.Limit; this.Distinct = !!this.options.Distinct; this.ExtIn = this.options.ExtIn; this.ExtOut = this.options.ExtOut; this.onIniFile = this.options.onIniFile; this.onEmpty = this.options.onEmpty; this.onNotExtIn = this.options.onNotExtIn; this.onExtOut = this.options.onExtOut; this.onLimite = this.options.onLimite; this.onSame = this.options.onSame; this.onFail = this.options.onFail; this.onIni = this.options.onIni; if(!this._FrameName){ //为每个实例创建不同的iframe this._FrameName = "uploadFrame_" + Math.floor(Math.random() * 1000); //ie不能修改iframe的name var oFrame = isIE ? document.createElement("<iframe name=\"" + this._FrameName + "\">") : document.createElement("iframe"); //为ff设置name oFrame.name = this._FrameName; oFrame.style.display = "none"; //在ie文档未加载完用appendChild会报错 document.body.insertBefore(oFrame, document.body.childNodes[0]); } //设置form属性,关键是target要指向iframe this.Form.target = this._FrameName; this.Form.method = "post"; //注意ie的form没有enctype属性,要用encoding this.Form.encoding = "multipart/form-data"; //整理一次 this.Ini(); }, //设置默认属性 SetOptions: function(options) { this.options = {//默认值 FileName: "files",//文件上传控件的name,配合后台使用 FrameName: "",//iframe的name,要自定义iframe的话这里设置name onIniFile: function(){},//整理文件时执行(其中参数是file对象) onEmpty: function(){},//文件空值时执行 Limit: 0,//文件数限制,0为不限制 onLimite: function(){},//超过文件数限制时执行 Distinct: true,//是否不允许相同文件 onSame: function(){},//有相同文件时执行 ExtIn: [],//允许后缀名 onNotExtIn: function(){},//不是允许后缀名时执行 ExtOut: [],//禁止后缀名,当设置了ExtIn则ExtOut无效 onExtOut: function(){},//是禁止后缀名时执行 onFail: function(){},//文件不通过检测时执行(其中参数是file对象) onIni: function(){}//重置时执行 }; Extend(this.options, options || {}); }, //整理空间 Ini: function() { //整理文件集合 this.Files = []; //整理文件空间,把有值的file放入文件集合 Each(this.Folder.getElementsByTagName("input"), Bind(this, function(o){ if(o.type == "file"){ o.value && this.Files.push(o); this.onIniFile(o); } })) //插入一个新的file var file = document.createElement("input"); file.name = this.FileName; file.type = "file"; file.onchange = Bind(this, function(){ this.Check(file); this.Ini(); }); this.Folder.appendChild(file); //执行附加程序 this.onIni(); //添加附件成功,显示列表 if(this.Files.length>0){ document.getElementById('fileList').style.display=""; document.getElementById('uploadButton').style.display=""; } }, //检测file对象 Check: function(file) { //检测变量 var bCheck = true; //空值、文件数限制、后缀名、相同文件检测 if(!file.value){ bCheck = false; this.onEmpty(); } else if(this.Limit && this.Files.length >= this.Limit){ bCheck = false; this.onLimite(); } else if(!!this.ExtIn.length && !RegExp("\.(" + this.ExtIn.join("|") + ")$", "i").test(file.value)){ //检测是否允许后缀名 bCheck = false; this.onNotExtIn(); } else if(!!this.ExtOut.length && RegExp("\.(" + this.ExtOut.join("|") + ")$", "i").test(file.value)) { //检测是否禁止后缀名 bCheck = false; this.onExtOut(); } else if(!!this.Distinct) { Each(this.Files, function(o){ if(o.value == file.value){ bCheck = false; } }) if(!bCheck){ this.onSame(); } } //没有通过检测 !bCheck && this.onFail(file); }, //删除指定file Delete: function(file) { //移除指定file this.Folder.removeChild(file); this.Ini(); if(this.Folder.getElementsByTagName("input").length==1){//没有附件时隐藏 document.getElementById('fileList').style.display="none"; document.getElementById('uploadButton').style.display="none"; } }, //删除全部file Clear: function() { //清空文件空间 Each(this.Files, Bind(this, function(o){ this.Folder.removeChild(o); })); this.Ini(); document.getElementById('fileList').style.display="none";//清空同样隐藏 document.getElementById('uploadButton').style.display="none"; } } var fu = new FileUpload("uploadForm", "idFile", { Limit: 3, ExtIn: [], onIniFile: function(file){ file.value ? file.style.display = "none" : this.Folder.removeChild(file); }, onEmpty: function(){ alert("请选择一个文件"); }, onLimite: function(){ alert("超过上传限制"); }, onSame: function(){ alert("已经有相同文件"); }, // ExtIn: ["jpg", "gif"] 可以限制上传文件后缀名,不写即为所有 // onNotExtIn: function(){ alert("只允许上传" + this.ExtIn.join(",") + "文件"); }, onFail: function(file){ this.Folder.removeChild(file); }, onIni: function(){ //显示文件列表 var arrRows = []; if(this.Files.length){ var oThis = this; Each(this.Files, function(o){ var a = document.createElement("a"); a.innerHTML = "取消"; a.href = "javascript:void(0);"; a.onclick = function(){ oThis.Delete(o); return false; }; arrRows.push([o.value, a]); }); } else { arrRows.push(["<font color='gray'>没有添加文件</font>", "&nbsp;"]); } AddList(arrRows); //设置按钮 //$("idBtnupload").disabled = $("idBtndel").disabled = this.Files.length <= 0; } }); $("idBtnupload").onclick = function(){ //显示文件列表 var arrRows = []; Each(fu.Files, function(o){ arrRows.push([o.value, "&nbsp;"]); }); AddList(arrRows); fu.Folder.style.display = "none"; $("idProcess").style.display = ""; $("idMsg").innerHTML = "正在添加文件到您的网盘中,请稍候……<br />有可能因为网络问题,出现程序长时间无响应,请点击“<a href='?'><font color='red'>取消</font></a>”重新上传文件"; doUpload(); $("idProcess").style.display = "none"; //fu.Form.submit(); } //用来添加文件列表的函数 function AddList(rows){ //根据数组来添加列表 var FileList = $("idFileList"), oFragment = document.createDocumentFragment(); //用文档碎片保存列表 Each(rows, function(cells){ var row = document.createElement("tr"); Each(cells, function(o){ var cell = document.createElement("td"); if(typeof o == "string"){ cell.innerHTML = o; }else{ cell.appendChild(o); } row.appendChild(cell); }); oFragment.appendChild(row); }) //ie的table不支持innerHTML所以这样清空table while(FileList.hasChildNodes()){ FileList.removeChild(FileList.firstChild); } FileList.appendChild(oFragment); } $("idLimit").innerHTML = fu.Limit; $("idExt").innerHTML = fu.ExtIn.join(","); $("idBtndel").onclick = function(){ fu.Clear(); } //在后台通过window.parent来访问主页面的函数 //function Finish(msg){ alert(msg); location.href = location.href; } <SCRIPT> [/code] struts配置文件(用的插件自动生成json): [code="java"] <action name="*File" method="{1}" class="com.web.action.UploadFile"> <result type="json" name="success"> <param name="includeProperties">msg</param> <param name="excludeNullProperties">true</param> </result> <result type="json" name="error"> <param name="includeProperties">msg</param> <param name="excludeNullProperties">true</param> </result> </action> [/code] 后台UploadFile.java的代码 [code="java"] package com.web.action; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.common.pojo.AppUser; import com.opensymphony.xwork2.ActionContext; /** * 负责文件的上传 */ public class UploadFile { private File[] files; private String[] filesFileName; private Map<String, String> filesPath;// 文件名及其上传后路径 private String msg; public String upload() { /* * Map session=ActionContext.getContext().getSession(); AppUser * user=(AppUser) session.get("user"); if(user==null){ return "error"; } */ msg="上传成功!"; for (int i = 0; i < files.length; i++) { fileCopy(files[i], filesFileName[i]); } return "success"; } private void fileCopy(File file, String fileName) { BufferedInputStream bis = null; BufferedOutputStream bos = null; String realPath = ServletActionContext. getServletContext().getRealPath("/upload/" + fileName); System.out.println(realPath); try { bis = new BufferedInputStream(new FileInputStream(file)); bos = new BufferedOutputStream(new FileOutputStream(new File( realPath))); byte[] buffer = new byte[1024 * 8]; int i = -1; while ((i = bis.read(buffer)) != -1) { bos.write(buffer,0,i); } bos.flush(); } catch (Exception e) { System.out.println("上传异常!"); msg="上传出错!"; e.printStackTrace(); }finally{ try { if (bis != null) bis.close(); if (bos != null) bos.close(); } catch (IOException e1) { System.out.println("上传结束异常!"); e1.printStackTrace(); } } } public File[] getFiles() { return files; } public void setFiles(File[] files) { this.files = files; } public String[] getFilesFileName() { return filesFileName; } public void setFilesFileName(String[] filesFileName) { this.filesFileName = filesFileName; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } [/code]
关于多次提交submit,但最后只有的一次是生效的?
想通过for循环的方式,每次都提交一次submit,对应的submit会生成一个excel表,却只有最后一次有效 首先是js的$.ajax({ url : location.getUnslashedPathName() + '/piexport', type : "GET", async : false, data : {}, success : function(data) { $("#que-form").submit(); } 对应的返回数据是 new ModelAndView(new ChannelUserExcelView(), model); 我现在是想用循环的方式调用这个ajax,然后每次循环都会有一次的表单提交,生成一个excel文件,但是结果却是submit执行最后的一次,请问是问什么?最主要的是生成多个excel文件的方法,或者有没有什么方法把ModelAndView返回的数据直接生成excel文件,请问有知道如何实现的吗?麻烦给点建议,谢谢了
Jquery Mobile Ajax ASP.NET控件 无刷新页面查询,添加,修改,删除
Jquery Mobile Ajax 技术用ASP.NET控件怎么实现无刷新页面查询,添加,修改,删除功能? 现在刷新一次才能执行JavaScript代码,否则没反应,有时候样式也没了。 我写的代码如下: ``` <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="css/jquery.mobile-1.4.5.css" /> <link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css" /> <script src="js/jquery.js"></script> <script src="js/jquery.mobile-1.4.5.min.js"></script> </head> <body> <form id="form1" runat="server"> <div data-role="page" data-quicklinks="true"> <div data-role="header"><h1>标题</h1></div> <div role="main"> <ul data-role="listview"> <li><a href="TestSql.aspx?key=1">AAA</a></li> <li><a href="TestSql.aspx?key=2">BBB</a></li> </ul> </div> <div data-role="footer" data-position="fixed"><h4>©2013-2015</h4></div> </div> </form> </body> </html> ``` ``` <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestSql.aspx.cs" Inherits="TestSql" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="css/jquery.mobile-1.4.5.css" /> <link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css" /> <script src="js/jquery.js"></script> <script src="js/jquery.mobile-1.4.5.min.js"></script> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <div data-role="page"> <div data-role="header"><h1>标题</h1><a href="Default.aspx" data-icon="arrow-r"><% =GetCityName() %></a></div> <div id="tabs" data-role="tabs"> <div data-role="navbar"> <ul> <li><a href="#one" data-ajax="false">第一</a></li> <li><a href="#two" data-ajax="false">第二</a></li> </ul> </div> <div class="ui-body-d ui-content" id="one"> <asp:DropDownList data-native-menu="false" ID="ddlSort" runat="server" OnSelectedIndexChanged="ddlSort_SelectedIndexChanged"></asp:DropDownList> <asp:DropDownList data-native-menu="false" ID="ddlCity" runat="server"></asp:DropDownList> <asp:Button ID="btnSearch" runat="server" Text="查询" CssClass="ui-btn-active" /> </div> <div id="two"> <ul data-role="listview" data-inset="true"> <li><a href="#">A</a></li> <li><a href="#">B</a></li> <li><a href="#">C</a></li> <li><a href="#">D</a></li> <li><a href="#">E</a></li> </ul> </div> </div> <div data-role="footer" data-position="fixed"><h4>©2013-2015</h4></div> </div> </ContentTemplate> </asp:UpdatePanel> </form> </body> </html> ``` ``` using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class TestSql : System.Web.UI.Page { SqlEditForOleDb ed = new SqlEditForOleDb(); string CityNumber = string.Empty; int StationSortIndex = 0; string StationSortName = string.Empty; int StationIndex = 0; string StationName = string.Empty; protected void Page_Load(object sender, EventArgs e) { try { CityNumber = Request.QueryString["key"].ToString(); Session["CityID"] = CityNumber; if (CityNumber == string.Empty) { Response.Redirect("Default.aspx"); } } catch { Response.Redirect("Default.aspx"); } ddlSort.AutoPostBack = true; ddlCity.AutoPostBack = true; if (!IsPostBack) { ddlSort.Items.Add("A"); ddlSort.Items.Add("B"); ddlSort.Items.Add("C"); ddlSort.Items.Add("D"); ddlSort.Items.Add("E"); ddlCity.Enabled = false; } else if (ddlSort.SelectedIndex == 0) { ddlCity.Enabled = false; } StationSortName = ddlSort.Text; StationSortIndex = ddlSort.SelectedIndex; StationName = ddlCity.Text; StationIndex = ddlCity.SelectedIndex; } public string GetCityName() { string str = string.Empty; try { str = ed.Search("SELECT 名称 FROM 城市 WHERE ID = " + CityNumber).Rows[0][0].ToString(); } catch { } return str; } public string GetCityID() { string str = string.Empty; try { str = Session["CityID"].ToString(); } catch { } return str; } protected void ddlSort_SelectedIndexChanged(object sender, EventArgs e) { ddlCity.Items.Clear(); if (ddlSort.SelectedIndex == 0) { ddlCity.Enabled = false; } else { ddlCity.Enabled = true; DataTable dtStation = new DataTable(); dtStation = ed.Search("SELECT DISTINCT 城市.名称 FROM 城市 WHERE 城市.名称 like '" + StationSortName + "%'"); for (int i = 0; i < dtStation.Rows.Count; i++) { ddlCity.Items.Add(dtStation.Rows[i][0].ToString()); } } } } ```
JS:for循环里面延迟查询,等服务器返回后再执行下一次查询
for(var i=1;i<=7;i++){ var kstime = Date.parse(new Date(GetDateStr(-i)))/1000; var jstime = Date.parse(new Date(GetDateStr(-i+1)))/1000; $.post("URL", {cezhan:5,ks:kstime,js:jstime}, function(dataa){ //在这里存值,存好后再执行下一次请求 }) } 目前存在的问题是:返回的值是正确的,但是顺序不对!每次都不一样
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
相关热词 c# 数组类型 泛型约束 c#的赛狗日程序 c# 传递数组 可变参数 c# 生成存储过程 c# list 补集 c#获得所有窗体 c# 当前秒数转成年月日 c#中的枚举 c# 计算校验和 连续随机数不重复c#
立即提问