ajax异步请求: 同时发送两个异步请求

同时发送两个ajax请求, 如果第一个请求响应失败, 第二个请求的响应数据浏览器还会接收到吗?

2个回答

要看你的代码怎么写,如果第二个请求和第一个是并列的关系,那么互不影响
如果第二个请求写在第一个的success里面,那么肯定就不行了。

第一个 option? 第二个才是 get 或者post类型?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
向服务器发送了两个异步请求 结果却总是同时返回
js代码 ``` window.onload = function () { gp(); gp1(); } function gp() { $.ajax({ type: "post", url: "Filepro.aspx", data: { type: "gp" }, success: function (data) { alert(data); setTimeout("gp()", 500); }, error: function (data) { } }) } } function gp1() { $.ajax({ type: "post", url: "Filepro1.aspx", data: { type: "gp" }, success: function (data) { alert(data); setTimeout("gp1()", 500); }, error: function (data) { } }) } ``` asp.net 代码 ``` //Filepro.aspx String tag = Request.Form["type"]; String a = ""; if (tag.Equals("gp")) { Thread.Sleep(5000); Response.Write("我是0"); Response.End(); } //Filepro1.aspx String tag = Request.Form["type"]; String a = ""; if (tag.Equals("gp")) { Response.Write("我是1"); Response.End(); } ``` 前台就是简单的发了两个异步请求出去 服务器有两个页面分别处理这两个请求,其中一个做了延时,我想要的效果是在大概五秒时间里 服务器返回N个“我是1”返回一个“我是0”但现在的现像是这两个请求总是大概五秒一次的同时返回,是服务器把这两个异步请求当成一个去处理了吗?其中一个Sleep的时候 另一个也被指挂起了? 我想要的那种效果应该怎么实现 请指教!
Ajax异步请求
myeclipse8.5中开发 new Ajax.Request("OAMaxFileNoSend.wf?fronttitle="+fronttitle+"&REGID="+<%= regBean.getREGID()%>,{method:"post", onSuccess:function(req){ document.getElementById("message").innerHTML="提示:当前最大文号为"+req.responseText; } }); url带有两个参数,url就执行不了, 但是一个参数时url就执行了 很奇怪! MyEclipse5.5中没有这样的情况啊
Linux下的ajax请求问题
我练习写了一个小web项目,页面大部分数据是用的jQuery的load方法 发出的ajax请求得到, 在本机上(XP系统)的三个浏览器下(qq,百度,360)测试一切正常, 但我把项目部署到Linux上的时候,百度浏览器可以正常运行, 但是其他两个浏览器下运行网页凡是属于ajax的异步请求, 都得不到数据,请问这种情况兼容性问题出在哪啊,也不报错,无从分析, 求指点
vue.js 请求方法设置同步问题
使用vue.js对后台进行请求发送。 现在问题描述。 定义一个vue中,有6个方法,其中有一个方法请求成功后会调用另外两个方法, 调用时候,必须等第一个方法成功返回之后对页面渲染后再掉第二个方法。 目前vue 默认为异步请求,调用的第一个方法还没有渲染完页面, 第二个方法就已经请求了,造成页面获取值为未更新之前的数据。 现在想完成的形式: 定义一个vue,6个方法中,不设置就使用异步, 有一个方法需要单独设置为执行同步。 请大神说说vue的思路。就是需要vue实现部分方法同步 【ps:想说使用ajax的或者把第二个参数写在第一个参数里边的就不用说了】
ajax请求后台阻塞问题
写了两个AJAX函数,第一个用于导入数据,同时将进度信息写到全局变量中,第二个每隔一秒种获取全局变量的进度信息 但是为何第二个ajax一定要等到第一个结束时才会去执行? 1. 设置过jquery AJAX的async 为te,即异步执行 2. 第二个ajax(获取进度信息的), 就算我随便返回个值(非session)里面的都不会去调用后台方法, 直到第1个执行完成才会进来。 也不是session的问题。。。 那么真的很奇怪啊, 大神速来~~~
求助IIS服务器单用户并发请求的问题
我有一个页面,有两个ajax异步请求,在同一时间(先后)请求一个站点,第一个请求是耗时的请求,要一分钟返回消息;第二个请求是即时消息,只用一秒。 页面程序执行结果是,在第一个耗时请求返回消息后,第二个请求才会被asp.net接收到,这样的用户体验非常糟糕。 我尝试配置IIS的最大工作进程数,调节至1000(默认为1),以增加w3wp的数量来提高并发处理效率。但是执行效果仍然是“即时请求”排列在“耗时请求”之后执行,即IIS并未为我的第二个请求分配一个闲置的工作进程。 求问技术达人,这种情况需要如何解决? (PS:耗时请求和即时请求先后顺序不可控)
请问这个异步请求方式,怎么做!
![图片说明](https://img-ask.csdn.net/upload/201507/20/1437385238_673199.png) 当选择车型,下面的三项都异步生成;然后选择“车的年代”,下面的两行自动生产;选择“车款式”,下面一行的车的颜色也随之生产。 用mvc三成架构,应该怎么做?
jquery ajax方法调用在session超时以后如何跳转到登录页面?
jquery ajax方法调用在session超时以后如何跳转到登录页面? session超时以后虽然被过滤器过滤到了,但是并不会跳转到登录页面请求具体的解决方法。 我参考了这篇文章,但是我调用ajaxStart不起作用。 http://www.blogjava.net/vickzhu/archive/2009/06/05/280223.html ext jquery 用户访问超时(ext session过期) 解决两种情况下的用户访问超时。 a)普通http请求的session超时。 b)异步http请求的session超时,使用ext后大部分的界面刷新都是异步的ajax请求。 不管是那种类型的http请求总是可以由一个过滤器来捕捉。 分类:普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。 其实对于常见的ajax框架,header中还有标示自己身份的header信息。 对于普通的http请求,发现session超时后直接重定向到一个超时页面,显示访问超时。 对于异步http请求,发现session超时后则向请求的response中写入特定的超时头信息,客户端ajax对象检测 头信息,发现有超时状态标志后调用显示超时信息的javascript方法,提示用户访问超时。 服务器端session超时后在过滤器中为response添加新的头信息,标记该请求超时: if(r.getHeader("x-requested-with")!=null && r.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ response.setHeader("sessionstatus","timeout"); } 使用Ext.Ajaxt对象完成异步请求的交互,Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)。 注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件。在该事件的回调函数里面判断 访问请求是否超时。使用Ext.Ajax对象的好处是,只需要引入一个包含了几行超时处理代码的js文件,就可以 为当前应用增加超时处理功能,原有代码不需要做任何修改。 使用Ext.Ajaxt对象完成异步请求交互,假如checkUserSessionStatus是你的回调方法,每个页面引用: Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this); function checkUserSessionStatus(conn,response,options){ //Ext重新封装了response对象 if(typeof response.getResponseHeader.sessionstatus != 'undefined'){ //发现请求超时,退出处理代码... } } 可以利用的几个特性:a)所有的ajax请求均带有x-requested-with:XMLHttpRequest头信息b)Ext.Ajax是单实例对象(非常重要,全局单一Ext.Ajax实例!)c)注册Ext.Ajax的requestcomplete事件,每个ajax请求成功后首先响应该事件(概念类似spring的aop拦截)。 jquery提供了几个全局事件可以用来处理session过期请求,如当ajax请求开始时会触发ajaxStart()方法的回调函数;当ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局的方法,因此无论创建它们的代码位于何处,只要有ajax请求发生时,都会触发它们。类似的事件还有:ajaxComplete(),ajaxError(),ajaxSend(),ajaxSuccess()等。 如果使某个ajax请求不受全局方法的影响,那么可以在使用$.ajax()方法时,将参数中的global设置为false,jquery代码如下:$.ajax({ url:"test.html", global:false//不触发全局ajax事件}) 对于其他的ajax框架,解决用户访问请求超时这个问题的思路是类似的。
我这样做asp.net异步文件上传进度条
前台两个请求  1.上传文件的请求  2.获取上传进度的请求 1. ``` $("#ufrm").ajaxSubmit({ url: "ReceivFile.ashx", type: "post", success: function (data) { ... ``` 2. ``` $.ajax({ type: "post", url: "Filepro.aspx", data: { type: "gp" }, success: function (data) { ... ``` 后台两个处理: 1.接收文件的处理 ```       int readcount = 0; int tcount = 0; tcount = files.ContentLength; byte[] buffer=new byte[10]; System.IO.FileStream fs= System.IO.File.Create(context.Server.MapPath(pic)); HttpContext.Current.Session["fp"] = "1"; while ((readcount=stream.Read(buffer,0,10))>0) { fs.Write(buffer, 0, readcount); HttpContext.Current.Session["fp"] = fs.Length + "/" + tcount; } ``` 2.返回进度 ```  if (tag.Equals("gp")) { if (Session["fp"] != null) { Response.Write(Session["fp"].ToString()); Response.End(); } else { Response.Write("NULL"); Response.End(); } } ``` 服务器接收文件的过程中把上传的进度存到session中 前台请求上传进度的时候 服务器从这个session里获取值发送给前台 前台再显示出来 我这样去实现上传的进度显示可以吗? 现在的问题是 返回的进度总是NULL 像是被接收文件那个线程给独占了一样  应该怎样去改进 求指教 我查了这两个请求(上传文件请求和获取进度请求)的sessionid是一样的!
js焦点定位BUG怎么处理?
我有两个文本框用JS代码写的,触发onblur事件作验证处理,另一个也是。。现在我发现一个问题,就是第一个文本框输入完成后,验证不通过得到焦点,因为异步发送AJAX需要时间去数据库查询,而失去焦点的动作是我点击的第二个文本框,所以这问题就操蛋了,当点击第二个文本框后,第一个文本框异步发送请求返回的结果才返回回来,不通过第一个文本框要得到焦点,可是第二个文本框也有角发的事件呀,他不通过也要得到焦点,然后。。。大神们应该懂的,这怎么处理?我看网上说延时?还有其他更简单的方法吗
数据显示不到统计图中
![图片说明](https://img-ask.csdn.net/upload/201908/07/1565169152_990363.png) 这些信息一个在统计图上变显示啊,为什么显示不到echart的统计图上 ``` <div style="text-align: center;"> <h2>商品类型统计</h2> </div> <!-- 2.为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px; height: 450px; float:left;" > <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); //3.初始化,默认显示标题,图例和xy空坐标轴 myChart.setOption({ title : { text : '销售数量' }, tooltip : {}, legend : { data : [ '销售量' ] }, xAxis : { data : [] }, yAxis : {}, series : [ { name : '销售量', type : 'bar', data : [] } ] }); //4.设置加载动画(非必须) myChart.showLoading(); //数据加载完之前先显示一段简单的loading动画 //5.定义数据存放数组(动态变) var names = []; //建立一个类别数组(实际用来盛放X轴坐标值) var nums = []; //建立一个销量数组(实际用来盛放Y坐标值) //6.ajax发起数据请求 $.ajax({ type : "post", async : true, //异步请求(同步请求将会锁住浏览器,其他操作须等请求完成才可执行) url : "${pageContext.request.contextPath}/store/statisticsOne", //请求发送到controller data : {}, dataType : "json", //返回数据形式为json //7.请求成功后接收数据name+num两组数据 success : function(result) { //result为服务器返回的json对象 if (result) { //8.取出数据存入数组 for (var i = 0; i < result.length; i++) { names.push(result[i].pro_name); //迭代取出类别数据并填入类别数组 } for (var i = 0; i < result.length; i++) { nums.push(result[i].countproduct); //迭代取出销量并填入销量数组 } myChart.hideLoading(); //隐藏加载动画 //9.覆盖操作-根据数据加载数据图表 myChart.setOption({ xAxis : { data : names }, series : [ { // 根据名字对应到相应的数据 name : '数量', data : nums } ] }); } }, error : function(errorMsg) { //请求失败时执行该函数 alert("图表请求数据失败!"); myChart.hideLoading(); } }) </script> </div> ```
ajax获取不到php从数据库里面读取到的数据,(php读取到的数据已经成功转换成了json数据)
javascript代码: ```javascript // 初始化两个数组,盛装从数据库中获取到的数据 var dates = new Array(), moneys = new Array(); //调用ajax来实现异步的加载数据 function getusers() { $.ajax({ type: "post", async: false, data:{}, url: "dataDemo/dataIndex.php", data: {}, dataType: "json", success: function(result){ if(result){ for(var i = 0; i < result.length; i++){ dates.push(result[i].sum); moneys.push(result[i].money); } } }, error: function(errmsg) { alert("Ajax获取服务器数据出错了!"+ errmsg); } }); return dates, moneys; } //执行异步请求 getusers(); ``` public_function.php代码: ```php <?php function dbInit(){ global $con; $dsn = "mysql:dbname=info;localhost=127.0.0.1"; $user = "root"; $password = "644066YanMin&&!+"; try{ $con = new PDO($dsn,$user,$password); }catch(PDOExcepetion $e){ die ("Error!: " . $e->getMessage() . "<br/>"); } } /* 处理结果集中有多条数据的函数; */ function fetchAll($sql){ global $con; class user{ public $times; public $money; } if($result = $con->query($sql)){ //声明数组,用于接收结果集; $data = array(); //遍历结果集; while($row = $result->fetch(PDO::FETCH_ASSOC)){ $user = new User(); $user->times = $row['times']; $user->money = $row['sum']; $data[] = $user; } return $data; }else{ //执行失败; return false; } } ``` dataIndex.php代码 ```php <?php require "public_function.php"; dbInit(); $sql = 'select times,sum from date'; $datas = fetchAll($sql); // 返回JSON类型的数据 echo json_encode($datas); //$con = null; require "dataIndex.html"; ```
如何才能请爬到该页面?
一个异步加载的页面:http://q.10jqka.com.cn/thshy/index/field/199112/order/desc/page/1/ajax/1/ 打开上面的链接,右键‘查看源代码’可以看到需要的内容,但用requests.get()请求服务器只返回两个script标签(如下图)。请问各位高手如何才能正确的请求到页面内容? ![代码及返回值](https://img-ask.csdn.net/upload/201811/04/1541318850_517616.png)
x轴为什么显示undefined??
``` ```<!doctype html> <html> <head> <meta charset="utf-8"> <title>异步加载后台数据</title> <link href="css/index.css" type="text/css" rel="stylesheet" /> <script src="js/jquery.js"></script> <script src="js/echarts.js"></script> </head> <body> <div id="container"> <h3>开始测试</h3> <div id="wrap"></div> <script> // 初始化 图表对象 var mychart = echarts.init(document.getElementById("wrap")); // 初始化两个数组,盛装从数据库中获取到的数据 var teachers_tits = [], respro_num = []; //调用ajax来实现异步的加载数据 function get_resproject() { $.ajax({ type: "post", async: false, url: "config.php", data: {}, dataType: "json", success: function(result){ if(result){ for(var i = 0 ; i < result.length; i++){ teachers_tits.push(result[i].teachers_tits); respro_num.push(result[i].respro_num); } } }, error: function() { alert("Ajax获取服务器数据出错了!"); //return teachers_tits, respro_num; } }); return teachers_tits,respro_num; } // 执行异步请求 get_resproject(); // 进行相关项的设置,也就是所谓的搭搭骨架,方便待会的ajax异步的数据填充 var option = { title : { text : '职称科研项目数量图' }, tooltip : { show : true }, legend : { data : [ '项目数量' ] }, xAxis : [ { data : teachers_tits } ], yAxis : [ { type : 'value' } ], series : [ { "name" : "项目数量", "type" : "bar", "data" : respro_num }] }; // 将配置项赋给chart对象,来显示相关的数据 mychart.setOption(option); </script> </div> </body> </html> ``` ```![图片说明](https://img-ask.csdn.net/upload/201812/05/1544011145_563899.png)
关于es6入门,看到promise的时候发现两个小问题,不知道是怎么回事
问题1:promise实现ajax请求的时候 resolve里面的参数 this.response 是什么, ajax里面好像没有这个属性,是不是应该是respinseText ``` var getJSON = function(url) { var promise = new Promise(function(resolve, reject){ var client = new XMLHttpRequest(); client.open("GET", url); client.onreadystatechange = handler; client.responseType = "json"; client.setRequestHeader("Accept", "application/json"); client.send(); function handler() { if (this.readyState !== 4) { return; } if (this.status === 200) { resolve(this.response); //这里this.response } else { reject(new Error(this.statusText)); } }; }); ``` 问题2. settimeout 第3个参数实际上是第一个参数的函数的参数,而 resolve又是能传递参数的 ``` function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(resolve, ms, 'done'); //改成 setTimeout(resolve('done'), ms); }); } timeout(5000).then((value) => { console.log(value); }); ``` 书上的例子我稍微改一改,为什么就不能异步执行了
comet实现服务器推送技术出现了一些问题
如题 自己写的基于comet服务器推送信息的网站,自己调试的时候没有问题,数据能够更改。 但是 发布到IIS上, 用别的电脑访问的时候,数据不能更改,感觉没有运行代码。 这两台电脑的 防火墙都是关闭的~ js ``` $(function () { a(); } function a(){ $.ajax({ url: "../../NetAnomaly.ashx?"+Math.random(), type: "post", data: { "type": "connection" }, success: function (data) { if (data=="1") { a(); } a(); }, error: function () { a(); } }) } ``` cs ``` public class NetAnomaly1 : IHttpAsyncHandler { public static string name = HttpContext.Current.User.Identity.Name; public void ProcessRequest(HttpContext context) { } public bool IsReusable { get { return false; } } public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData) { //web server 调用BeginProcessRequest 开始异步处理http请求 IAsyncResult ar = new NetAsyncResult(context, cb, extraData); if (context.Request["type"].Equals("connection")) { chatManager.Start_Long_Connection(ar, name); } return ar; } public void EndProcessRequest(IAsyncResult result) { //web server 调用EndProcessRequest结束 异步处理http请求 一次http连接结束 } } /// <summary> /// 唯一标示一个异步请求http请求 /// </summary> class NetAsyncResult : IAsyncResult { HttpContext _context; //与当前http请求相关的context AsyncCallback _cb; //异步处理的回调方法 object _extraData; // 开启异步处理时 传进来的附加参数 bool _isCompleted; //异步过程是否完成 public NetAsyncResult(HttpContext context, AsyncCallback cb, object extraData) { _context = context; _cb = cb; _extraData = extraData; } //向客户端发送 数据 public void SendMsg(string msg) { try { _context.Response.ContentType = "text/html"; _context.Response.Write(msg); try { if (_cb != null) { //这步非常关键 该操作告诉web server 结束本次http链接(即server-borwser的 一次http连接结束) _cb(this); } } catch (Exception ex) { throw ex.message; } } finally { _isCompleted = true; } } public object AsyncState { get { return null; } } public System.Threading.WaitHandle AsyncWaitHandle { get { return null; } } public bool CompletedSynchronously { get { return false; } } public bool IsCompleted { get { return _isCompleted; } } } class chatClient { static IAsyncResult _netAsyncResult; static object _syncObj = new object(); static DateTime _last_connect_time = DateTime.Now; public chatClient(IAsyncResult ar) { _netAsyncResult = ar; _last_connect_time = DateTime.Now; } public static bool CheckState() { if (DateTime.Now.AddSeconds(-30) > _last_connect_time) { //30秒没有新的长连接建立 则认为 客户端断开 return false; } if (DateTime.Now.AddSeconds(-15) > _last_connect_time) { //每15秒发送一次心跳包 强制browser重新建立连接 lock (_syncObj) { (_netAsyncResult as NetAsyncResult).SendMsg("1"); } } return true; } public void UpdateAsyncResult(IAsyncResult ar) //重新建立http长连接 { lock (_syncObj) { _netAsyncResult = ar; _last_connect_time = DateTime.Now; (_netAsyncResult as NetAsyncResult).SendMsg("1"); } } } class chatManager { static object _syncObj = new object(); static string name = string.Empty; static chatManager() { StartCheckState(); } /// <summary> /// 监测在线用户的连接状态 /// </summary> private static void StartCheckState() { BackgroundWorker b = new BackgroundWorker(); b.DoWork += new DoWorkEventHandler(b_DoWork); b.RunWorkerAsync();//开始执行后台操作 } static void b_DoWork(object sender, DoWorkEventArgs e) { while (true) { lock (_syncObj) { try { //判断当前长链接是否建立 if (!chatClient.CheckState()) { //具体的操作 break; } } catch (Exception ex) { throw ex; } } Thread.Sleep(1000); } } /// <summary> /// browser端 开始建立一个http长连接 /// </summary> /// <param name="ar"></param> public static void Start_Long_Connection(IAsyncResult ar, string uname) { lock (_syncObj) { name = uname; chatClient client = new chatClient(ar); client.UpdateAsyncResult(ar); } } } ``` 这代码是我按照一个例子更改的 链接地址:http://www.cnblogs.com/xiaozhi_5638/p/3722017.html
关于IE的问题(拒绝访问js)
<p>这几天遇到几个关于IE的问题,找不到原因,让人崩溃啊,提出来看看大家能否帮忙解决。</p> <p>1、ajax的异步请求没有响应(火狐能够响应)。</p> <p>    在页面中如果单击一个按钮,就在js中发送请求给服务器(使用jquery的post方法),服务器的result类型是json,代码没有任何问题,在ie中单击按钮没有任何反应,后来我调试了一下,在action的return "success"语句后一直执行一个方法,无法返回到页面;而我在浏览器端调试js的时候,也是一直在jquery的一个语句上循环,不知道是什么原因;在火狐上可以正确返回结果,但是中文乱码(明明所有的地方都设置为了utf-8,可以使用工具查看的时候出现的是gbk,很奇怪);</p> <p>js的代码如下:没有任何反应</p> <pre name="code" class="java">$.post( $("#printLoanDueBillActionUrl").text(), {"loanDueBill.id":$("#loanDueBill_id").val(),"printType":"tblInvoice"}, function (data){ alert("%%%%"); alert(data.borrowerName); if(CheckLodop()){ myPrintView(); } },"json");</pre> <p> 配置文件代码:content是一个JSONObject对象</p> <pre name="code" class="java">&lt;result name="tblInvoice" type="json"&gt; &lt;param name="jsonObject"&gt;content&lt;/param&gt; &lt;/result&gt;</pre> <p>  </p> <p>2、IE提示拒绝访问JS</p> <p>  主要原因可能是因为我的页面时两个域, 当我在一个域访问另一个域的内容的时候就会提示</p> <div class="quote_div">网页错误详细信息 <br>消息: 拒绝访问。 <br>行: 35 <br>字符: 3 <br>代码: 0 <br>URI: http://localhost:8080/talc/js/print/loanDueBill.js <br> </div> <p>  提示出错的代码如下:</p> <pre name="code" class="java">var prtDate = $(window.parent.document).find('#prtDate').text();</pre> <p> 该页面是在另一个 http://localhost:8080/<span style="color: #000000;">xx</span>/的iframe里面</p> <p> </p> <p>以上两个问题让我非常的头疼,可是完全不知道该怎么解决,好像是我自己电脑的问题,因为用我的代码在别人的电脑上能够正确的执行(代码复制过去能运行,直接访问我的则不行),我的系统是win7的,ie8,别人的也是。可是如果直接在别的电脑上访问我的项目也会出错。<br>请知道的帮个忙,多谢了!</p>
“阿飞哥”快来帮我看看这个hibernate得错误
<p>情况说明:</p> <p>      前台异步传入参数“speakId”,action获取speakId后(业务逻辑暂且在action中处理),到comment表中查找外键为speakId的comment们,保存在commList中,commList作为json类型返回前台(?)。</p> <p> </p> <p>ajax代码:</p> <pre name="code" class="html">... $.ajax({ type : "POST", url : "showComment.action", data : { speakId : speakId }, success : callbackShowComm, dataType : "json", error : function (data, status, e){ alert(e); history.go(0);} }); <pre name="code" class="html">//callbackShowComm function callbackShowComm(backData,status){  if(status == "success"){    if(backData != null){      //test      alert(backData);//此处没有返回值    }//end backData  }else{    alert(status);  } } </pre> <br><br>...</pre> <p> </p> <p>action代码:</p> <pre name="code" class="java">package com.shaiyaya.action; import java.util.*; import java.text.SimpleDateFormat; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.Query; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.shaiyaya.constant.ConstantVariable; import com.shaiyaya.dao.User; import com.shaiyaya.dao.Speak; import com.shaiyaya.dao.Comment; import com.shaiyaya.orm.HibernateSessionFactory; import com.shaiyaya.service.CommentService; public class CommentAction extends ActionSupport implements ServletRequestAware { private HttpServletRequest request; public void setServletRequest(HttpServletRequest request) { this.request = request; } private List&lt;Comment&gt; commList = new ArrayList&lt;Comment&gt;();//包含查看相应speakID对应的评论的Comment信息 public void setCommList(ArrayList&lt;Comment&gt; commList){ this.commList = commList; } public List&lt;Comment&gt; getCommList(){ return this.commList; } /** * 异步获取speakID对应的comment信息 * @return */ public String showComment(){ int speakId = Integer.valueOf( request.getParameter("speakId") ); if(speakId &lt;1){ return "errorSpeakId"; } Session session = HibernateSessionFactory.getSession(); Transaction tran = session.beginTransaction(); String sql = "from Comment as c where c.speak =" +speakId+ "order by commentId desc" ; Query query = session.createQuery(sql); commList = query.list();//说明:要是List commList = commentservice.findCommentBySpeakId(speakId);则没有报错了 // commList = commentservice.findCommentBySpeakId(speakId); tran.commit(); session.close(); request.setAttribute("commList", commList); System.out.println("commListSize:"+commList.size()); return "success"; } }//end class </pre> <p> </p> <p> </p> <p>struts-xml配置文件:</p> <pre name="code" class="xml"><span style="background-color: #ffffff;">... </span>&lt;package name="ajax-comment" extends="json-default"&gt; &lt;!-- 查看speak对应的评论异步请求 --&gt; &lt;action name="showComment" class="com.shaiyaya.action.CommentAction" method="showComment"&gt; &lt;result name="success" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;result name="errorSpeakId" type="json"&gt; &lt;param name="root"&gt;commList&lt;/param&gt; &lt;/result&gt; &lt;/action&gt; &lt;/package&gt; ...</pre> <p> </p> <p>运行结果及报错:</p> <pre name="code" class="java">Hibernate: select comment0_.comment_id as comment1_23_, comment0_.speak_id as speak2_23_, comment0_.user_id as user3_23_, comment0_.content as content23_, comment0_.create_time as create5_23_ from shaiyaya.comment comment0_ where comment0_.speak_id=112 order by comment0_.comment_id desc Hibernate: select speak0_.speak_id as speak1_5_0_, speak0_.user_id as user2_5_0_, speak0_.content as content5_0_, speak0_.create_time as create4_5_0_, speak0_.last_comm_time as last5_5_0_, speak0_.cate_flag as cate6_5_0_, speak0_.attachment_flag as attachment7_5_0_, speak0_.comment_sum as comment8_5_0_, speak0_.love_sum as love9_5_0_, speak0_.forward_sum as forward10_5_0_ from shaiyaya.speak speak0_ where speak0_.speak_id=? Hibernate: select user0_.user_id as user1_15_0_, user0_.user_nick as user2_15_0_, user0_.real_name as real3_15_0_, user0_.password as password15_0_, user0_.user_ip as user5_15_0_, user0_.address as address15_0_, user0_.user_sex as user7_15_0_, user0_.create_time as create8_15_0_, user0_.update_time as update9_15_0_, user0_.user_email as user10_15_0_, user0_.user_intro as user11_15_0_, user0_.user_status as user12_15_0_, user0_.login_sum as login13_15_0_, user0_.last_login_time as last14_15_0_, user0_.role as role15_0_, user0_.memo as memo15_0_ from shaiyaya.user user0_ where user0_.user_id=? commListSize:2 [ERROR] 10-19-19:12:23 org.hibernate.LazyInitializationException.&lt;init&gt;(LazyInitializationException.java:19) [thread:http-80-2] [messgage:failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed] org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.shaiyaya.dao.Speak.comments, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.equals(PersistentSet.java:350) at java.util.Vector.indexOf(Vector.java:361) at java.util.Vector.contains(Vector.java:320) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:110) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.add(JSONWriter.java:324) at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:225) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:161) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.array(JSONWriter.java:416) at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:151) at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:127) at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:95) at com.googlecode.jsonplugin.JSONUtil.serialize(JSONUtil.java:98) at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:179) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:265) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619)</pre> <p> </p> <p>前面action里面的commList = query.list改为List commList = commentservice.findCommentBySpeakId(speakId);则没有报错,不过这样就没有往前台传值了,ajax的success函数中的backData是没有值的。</p> <p>comment表有两个外键speakId和userId 在comment.hbm.xml已经设置了lazy=“false”,代码如下:</p> <pre name="code" class="xml">&lt;hibernate-mapping&gt; &lt;class name="com.shaiyaya.dao.Comment" table="comment" catalog="shaiyaya"&gt; &lt;id name="commentId" type="java.lang.Integer"&gt; &lt;column name="comment_id" /&gt; &lt;generator class="native" /&gt; &lt;/id&gt; &lt;many-to-one name="speak" class="com.shaiyaya.dao.Speak" fetch="select" lazy="false"&gt; &lt;column name="speak_id" /&gt; &lt;/many-to-one&gt; &lt;many-to-one name="user" class="com.shaiyaya.dao.User" fetch="select" lazy="false"&gt; &lt;column name="user_id" /&gt; &lt;/many-to-one&gt; &lt;property name="content" type="java.lang.String"&gt; &lt;column name="content" /&gt; &lt;/property&gt; &lt;property name="createTime" type="java.util.Date"&gt; &lt;column name="create_time" length="19" /&gt; &lt;/property&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt;</pre> <p> </p> <p> </p> <p>这是什么原因呢?或者我要怎样才能把commList即comment对象的List传给前台呢?</p>
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Elastic:菜鸟上手指南
您们好,我是Elastic的刘晓国。如果大家想开始学习Elastic的话,那么这里将是你理想的学习园地。在我的博客几乎涵盖了你想学习的许多方面。在这里,我来讲述一下作为一个菜鸟该如何阅读我的这些博客文章。 我们可以按照如下的步骤来学习: 1)Elasticsearch简介:对Elasticsearch做了一个简单的介绍 2)Elasticsearch中的一些重要概念:cluster, n...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
【综合篇】浏览器的工作原理:浏览器幕后揭秘
web(给达达前端加星标,提升前端技能)了解浏览器是如何工作的,能够让你站在更高的角度去理解前端浏览器的发展历程的三大路线,第一是应用程序web化,第二是web应用移动化,第三是web操...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
死磕Lambda表达式(二):Lambda的使用
在哪使用Lambda表达式?怎么样正确的使用Lambda表达式?
史上最牛逼的 Eclipse 快捷键,提高开发效率!
如果你在使用IDEA,请参考博主另外的一篇idea快捷键的博客。
在三线城市工作爽吗?
我是一名程序员,从正值青春年华的 24 岁回到三线城市洛阳工作,至今已经 6 年有余。一不小心又暴露了自己的实际年龄,但老读者都知道,我驻颜有术,上次去看房子,业务员肯定地说:“小哥肯定比我小,我今年还不到 24。”我只好强颜欢笑:“你说得对。” 从我拥有记忆到现在进入而立之年,我觉得,我做过最明智的选择有下面三个: 1)高中三年,和一位女同学保持着算不上朋友的冷淡关系;大学半年,把这位女同学追到...
CSS操作之你不得不知的一些小技巧(一)ヾ(Ő∀Ő๑)ノ太棒了!!
目录 CSS单行/多行文本,超出隐藏并显示省略号 1. CSS单行/多行文本,超出隐藏并显示省略号 方法一:使用CSS属性 单行文本溢出显示省略号 width: 100px; overflow: hidden; text-overflow:ellipsis; //文本溢出显示省略号 white-space: nowrap; //文本不会换...
强烈推荐 10 款珍藏的 Chrome 浏览器插件
Firebug 的年代,我是火狐(Mozilla Firefox)浏览器的死忠;但后来不知道为什么,该插件停止了开发,导致我不得不寻求一个新的网页开发工具。那段时间,不少人开始推荐 Chrome 浏览器,我想那就试试吧,期初我觉得用起来很别扭,毕竟我不是一个“喜新厌旧”的人。但用的次数越来越多,也就习惯了。 Chrome 浏览器有一个好处,就是插件极其丰富,只有你想不到的,没有你找不到的,这恐怕是...
我以为我对数据库索引十分了解,直到我遇到了阿里面试官。
索引的数据结构分析,数据库面试到索引最常见的问题分析,我总结了一下。
Java程序员都需要懂的「反射」
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 今天来简单写一下Java的反射。本来没打算写反射这个知识点的,只是不少的读者都问过我:“你的知识点好像缺了反射阿。能不能补一下?” 这周末也有点空了,所以来写写我对反射的简单理解。这篇是入门文章,没有高深的知识点,希望能对新人有帮助。如果...
相关热词 c#怎么获得线程名 c# usb 采集器 c# csv 读取 c# sort() c# 关闭io流 c# 响应函数 插入 c#面对对象的三大特性 c# 打印 等比缩放 c#弹出右键菜单 c#1如何搞成01
立即提问