ajax的success方法中运行if()语句的问题

后台的一段代码如图:
这里无论result返回的是false还是true,都不会执行if()代码块。当把非去掉
无论result返回的是false还是true,都会执行if()代码块。
请问一下各位前辈,这是怎么回事?

3个回答

使用typeof 看下返回值是否为boolean类型

我去看了一下,返回类型是String类型的,那我该如何把它转变成适应if()语句的Boolean类型呢?

谢谢前辈提醒,我又回去看了一遍,问题已解决,原因是dataType,"T"没有大写,低级错误!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ajax无法发送请求,后台也未接收到请求
试了很多次,表单提交后,到alert(data)一句(包括这一句)都执行正常,但之后的ajax语句就无法发送请求,ajax语句里面的几个alert也没有运行,最后的alert('1')也没有运行(异步请求正常运行的话应该是会执行的吧) 以下是前端代码,本来代码是要复杂些的,但我调试的时候把代码简化了,基本确定是ajax语句的问题了。 ``` $(function () { 'use strict'; $('#login_form').submit(function (event) { event.stopPropagation(); event.preventDefault(); var nickname = $('#login_form').find('#login_nickname').val(); var pwd = $('#login_form').find('#login_password').val(); if (!nickname || !pwd) { $('#login_text').show(); } var raw_data = { title: 'login', nickname: nickname, password: pwd } var data = JSON.stringify(raw_data); alert(data); $.ajax('/login', { dataType: 'json' }).done(function (data) { alert('成功'); }).fail(function (xhr, status) { alert('失败'); }).always(function () { alert('请求完成: 无论成功或失败都会调用'); }); alert('1'); }); }); ``` 后端代码如下,用的是flask。按理来说即便url不对,后台也应该有请求记录的,然而后台并没有显示该记录 ``` @app.route('/login',methods=['POST',]) def login(): if g.user is not None and g.user.is_authenticated: flash('You have already logged in!') return redirect(url_for('home')) raw_data=request.get_data() print(raw_data) data=json.loads(raw_data) print(data[pwd],data[nickname]) resp=dict(success = True,text ='limbohotmore!') return json.dumps(resp) ``` 后台记录如下,无论提交几次表单,都只有第一次获取主页面的请求记录 ``` * Restarting with stat * Debugger is active! * Debugger PIN: 289-281-425 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 127.0.0.1 - - [26/Jul/2019 12:52:27] "GET / HTTP/1.1" 200 - ```
ajax 从页面中获取元素传递给PHP 进行数据库查询的问题
ajax从界面中获取id为username的文本内容“张三” ``` $.ajax({ type:"POST", url:"getallleads.php", data:"account="+$("#username").text(), success:function(data){showalllead(data);} }) ``` PHP中接收,并查询的语句如下: ``` $account=$_POST["account"]; echo "$account"; echo gettype($account); $result = $conn->query("select * from allsalesleads where 销售人员 like '%".$account."%'"); ``` 结果能够echo出account 内容为‘张三’ 数据类型为string 但没有查询结果 然后我直接在在如下PHP中给account赋值 张三,可以查询出。account前后的数据类型都是string ``` $account=$_POST["account"]; echo "$account"; echo gettype($account); $account='张三'; echo gettype($account); $result = $conn->query("select * from allsalesleads where 销售人员 like '%".$account."%'"); ``` 然后我想难道前后两个account不一样吗? 然后 if ($account=="张三") 来进行判断,结果还真不一样,这是咋回事啊? 有什么解决办法吗?非常感谢!
ajax一直不进入success:function()总是提示获取不到数据
public class UserDaoImpl implements UserDao { @Override public User login(User user) { Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try { con = BaseDao.getCon(); String sql = "select * from user where name=? and password=?"; ps = con.prepareStatement(sql); ps.setString(1, user.getName()); ps.setString(2, user.getPassword()); rs = ps.executeQuery(); User users; if (rs.next()) { users = new User(); System.out.println(); users.setId(rs.getInt("id")); users.setName(rs.getString("name")); users.setPassword(rs.getString("password")); users.setEmail(rs.getString("email")); users.setPhone(rs.getString("phone")); users.setMoney(rs.getString("money")); return users; } else { return null; } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public boolean register(User user) { String sql = "insert into user values(0,?,?,?,?,?) "; List<Object> list = new ArrayList<Object>(); list.add(user.getName()); list.add(user.getPassword()); list.add(user.getEmail()); list.add(user.getPhone()); list.add(user.getMoney()); boolean flag = BaseDao.addUpdateDelete(sql, list.toArray()); if (flag) { return true; } else { return false; } } public ArrayList<User> query() { Connection con = null; ArrayList<User> barArr = new ArrayList<User>(); try { con = BaseDao.getCon(); PreparedStatement stmt = con.prepareStatement("select * from user"); ResultSet rs = stmt.executeQuery(); while (rs.next()) { User bar = new User(); bar.setName(rs.getString("name")); bar.setMoney(rs.getString("money")); barArr.add(bar); } con.close(); } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return barArr; } } @WebServlet("/user/userlogin") public class UserLoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { User user = new User(); // 获取login.jsp页面提交的账号和密码 String name = request.getParameter("name"); String password = request.getParameter("password"); String money=request.getParameter("money"); // 测试数据 System.out.println(name + " " + password+" "+money); // 获取login.jsp页面提交的账号和密码设置到实体类User? user.setName(name); user.setPassword(password); HttpSession session = request.getSession(); // 引入数据交互层 UserDao dao = new UserDaoImpl(); User us = dao.login(user); // 测试返回的值 System.out.println(us); if (us != null) { session.setAttribute("user", user); request.getRequestDispatcher("/index/echarts.jsp").forward(request, response); // request.setAttribute("info", "登录成功"); } else { request.setAttribute("info", "登录失败"); request.getRequestDispatcher("/index/info.jsp").forward(request, response); } UserDaoImpl barDao = new UserDaoImpl(); ArrayList<User> barArr = barDao.query(); response.setContentType("text/html; charset=utf-8"); JSONArray json = JSONArray.fromObject(barArr); System.out.println("得到的数据:"+json.toString()); PrintWriter writer = response.getWriter(); writer.println(json); writer.flush(); writer.close(); } } public class BaseDao { private static String driver; private static String url; private static String user; private static String password; private static String money; static { driver = ResourceBundle.getBundle("db").getString("driver"); url = ResourceBundle.getBundle("db").getString("url"); user = ResourceBundle.getBundle("db").getString("user"); password = ResourceBundle.getBundle("db").getString("password"); } public static Connection getCon() throws ClassNotFoundException, SQLException { Class.forName(driver); System.out.println("测试加载数据库成功"); Connection con = DriverManager.getConnection(url, user, password); System.out.println("测试数据库连接成功"); return con; } public static void close(Connection con, PreparedStatement ps, ResultSet rs) { if (rs != null) {// 关闭 try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (con != null) { try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static boolean addUpdateDelete(String sql, Object[] arr) { Connection con = null; PreparedStatement ps = null; try { con = BaseDao.getCon();// 第一步 :连接数据库的操作 ps = con.prepareStatement(sql);// 第二步:预编译 // 第三步:设置值 if (arr != null && arr.length != 0) { for (int i = 0; i < arr.length; i++) { ps.setObject(i + 1, arr[i]); } } int count = ps.executeUpdate();// 第四步:执行sql语句 if (count > 0) { return true; } else { return false; } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } } <%@page import="org.apache.catalina.connector.Request"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% 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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Hello ECharts</title> <!-- 使用单文件引入的方式使用ECharts.JS --> <script type="text/javascript" src="../scripts/echarts-all.js"></script> <script type="text/javascript" src="../scripts/jquery.js"></script> </head> <body> 您的用户名是: ${user.name} <div id="myDiv" style="height: 400px"></div> <script type="text/javascript"> function loadData(option) { $.ajax({ type : 'post', //传输类型 async : false, url : 'bar.do', //web.xml中注册的Servlet的url-pattern data : { "name" : name }, dataType : 'json', //返回数据形式为json success : function(result) { if (result) { option.legend.data = []; option.series[0].data = []; for (var i = 0; i < result.length; i++) { alert(result[i].name + "---" + result[i].money); option.legend.data.push(result[i].name); option.series[0].data.push({ name : result[i].name, value : result[i].money }); } myChart.setOption(option); } }, error : function(errorMsg) { alert("加载数据失败"+errorMsg); } });//AJAX }//loadData() var myChart = echarts.init(document.getElementById('myDiv')); var option = { title : { text : '某站点用户访问来源', subtext : '纯属虚构', x : 'center' }, tooltip : { trigger : 'item', formatter : "{a} {b} : {c} ({d}%)" }, legend : { orient : 'vertical', left : 'left', data : [] }, series : [ { name : '访问来源', type : 'pie', radius : '55%', center : [ '50%', '60%' ], data : [], itemStyle : { emphasis : { shadowBlur : 10, shadowOffsetX : 0, shadowColor : 'rgba(0, 0, 0, 0.5)' } } } ] }; //加载数据到option loadData(option); //设置option </script> </body>
$.ajax()传递参数后台controller接收不到的问题
我想通过Ajax传递一个Pojo给Controller,但是controller接收不到数据 下面是Ajax代码片 $.ajax({ url: basePath + "update.action", method:"post", dataType:"json", contentType: "application/json", data:JSON.stringify({ cookId: $("#edit_cook_id").val, cookName: $("#edit_cookName").val, cookFlavor: $("#edit_cookFlavor").val, cookRepertory: $("#edit_cookRepertory").val, cookPrice: $("#edit_cookPrice").val, cookType: $("#edit_cookType").val }), success: function (data) { if (data > "0") { alert("客户信息更新成功!"); } else { alert("客户信息更新失败!"); } window.location.reload(); }, error:function () { alert("客户信息更新失败! "); } }); ``` ``` 接下来是Controller @RequestMapping(value = {"update"} ,method = { RequestMethod.POST }) @ResponseBody public Long update(@RequestBody CookBook cookBook) { System.out.println("=============================================="); System.out.println(cookBook); Long aLong = restaurantService.updateCook(cookBook); return aLong; } ``` ``` 这是打印语句 ============================================== CookBook{cookId=0, cookName='null', cookFlavor='null', cookRepertory=0, cookPrice=0, cookType='null'} 异常是说 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cook_id` = 0' at line 4 找了一天问题了,苦恼
ajax异步查询结果的显示?
function querySubmit(){ $.ajax({ type: "get", url: "/personinfomanage/queryDatas", data:{"name":$("#searchName").val(),"skill":$("#searchSkill").val()}, dataType: "json", success:function (result) { alert("success!"); if(result!=""){ var datalist = eval ("(" + result + ")"); alert(datalist); var cur=1; createPages(totalpage,cur);//生成页码 var persons = data.persons; var i; for(i = 0;i<persons.length;i++){ } } } }); 为什么function(result)不执行? 用firebug执行到function(result)语句就跳出了? json设置方式: PrintWriter out = null; response.setContentType("application/json"); try { out = response.getWriter(); out.write(result); } catch (IOException e) { e.printStackTrace(); } System.out.println(result); 下面是我的json字符串:System.out.println(result);的结果 [{"id":766,"description":"what the fuck?!","creationTime":"2013-11-07","firstName":"Michael","lastName":"Gyger","skills":"","birthDate":"0001-01-01","email":"counter55@yahoo.com","webSiteName":"NONE","genderTag":1,"birthYear":1,"phone":"","photo":"","interests":"","certification":""},{"id":768,"description":"CISA,CISM,CISSP,MCSE","creationTime":"2013-11-07","firstName":"Michael","lastName":"Gerleman","skills":"","birthDate":"0001-01-01","email":"michael_gerleman@yahoo.com","webSiteName":"MGerleman","genderTag":1,"birthYear":1,"phone":"","photo":"","interests":"","certification":""},{"id":769,"description":"","creationTime":"2013-11-07","firstName":"Michael","lastName":"Palamar","skills":"","birthDate":"0001-01-01","email":"map0009@aol.com","webSiteName":"MichaelPalamar","genderTag":1,"birthYear":1,"phone":"","photo":"","interests":"","certification":""},{"id":799,"description":"","creationTime":"2013-11-07","firstName":"Michael","lastName":"Roth","skills":"","birthDate":"0001-01-01","email":"MJRoth@hot.rr.com","webSiteName":"NONE","genderTag":1,"birthYear":1,"phone":"","photo":"","interests":"","certification":""},{"id":821,"description":"","creationTime":"2013-11-07","firstName":"Michael","lastName":"Story","skills":"","birthDate":"0001-01-01","email":"mutineer7@hotmail.com","webSiteName":"NONE","genderTag":1,"birthYear":1,"phone":"","photo":"","interests":"","certification":""}]
一个简单问题!$.ajax() 实现登陆!
# ajax **已经能够成功验证了** function checkUser(){ var username = $("#username").val(); var password = $("#password").val(); $.ajax({ type: "post", url: "logincheck", data: {"username":username,"password":password}, success:function(data){ location.href = "index.jsp"; } }); } # servlet String un = request.getParameter("username"); String pd = request.getParameter("password"); userCheck uc = new userCheck(); String res = uc.getUser(un,pd); if(!res.equals("userwrong") && !res.equals("passwordwrong")) { **request.getSession().setAttribute("username", res);**验证后的数据已经保存在session里了 } # html <%String username=(String)request.getSession().getAttribute("username"); if(username == null){ %> <input type="button" class="buttontype2" id="login" value="登录" onclick="checkUser();" 问题就是我需要重新刷新一下这个页面,才能进入if判断语句去读取session,我就是不知道如何刷新这个页面,在服务器重定位还是在ajax seccess回调函数进行刷新页面?求大神解答!
关于Jquery ajax访问的一个很奇怪的问题,网上找了很久都没找到解决办法。
通过点击一个按钮ajax访问一个jsp页面 原本想是点击按钮的时候加载一个div 防止用户再点击 但现在是ajax访问的页面返回东西的时候那个div才出来。 但是奇怪的是加个alert语句的时候div能立即出来。 好了 废话不说了 看代码: [code="java"]core.ajax = { receivePacket:function(packet) { }, sendPacket:function(packet , process , aysncflag){ var sendUrl = packet.url; var sendData = packet.data.data; if(process ==null) process = doProcess; if(aysncflag==null) aysncflag = false; if(aysncflag == false){ loading(); } $.ajax({ url: sendUrl, data: sendData, type:"POST", async:aysncflag, dataType:"html", success: function(data){ eval(data); process(response); response = null; }, error:function(data){ if(data.status=="404") { alert( "文件不存在!"); } else if (data.status=="500") { alert("文件编译错误!"); } else{ alert("系统错误!"); } } }); if(aysncflag == false){ unLoading(); } },[/code] [code="java"]function loading(){ var divHtml = "<div id='lodingDiv' style='width:210px;font-size: 12px;font-weight: normal;text-align: left;height: 32px;background-position: 5px;color: #2C5598;line-height: 20px;background-image: url(/nresources/default/images/blue-loading.gif);background-repeat: no-repeat;text-indent: 45px;padding-top: 15px;'>" + "正在提交信息,请等待......"; + "</div>"; $("body:first").append(divHtml); $.blockUI($("#lodingDiv")); }[/code] 在loading方法调用后加个alert能立即加载信息。
ajax访问后台代码,成功但是ajax走error:function
后台代码 ``` /** * 账号是否存在 * @param account * @return */ @RequestMapping(value = "/validateAccountNonExistent.json", method = RequestMethod.GET) @ResponseBody public JsonData validateActNonExistent(@RequestParam String account){ System.out.println(account+"============account"); if(sysUserService.checkTelephoneExist(account, null)){ System.out.println("true"); return JsonData.success(); }else if(sysUserService.checkEmailExist(account, null)){ System.out.println("true"); return JsonData.success(); }else{ System.out.println("false"); return JsonData.fail("账号不存在"); } } ``` 后台拦截器拦截到的日志信息 ``` ================================================================================================ 2019-03-14 11:26:11.162 INFO 15436 --- [nio-8081-exec-3] com.hdcs.interceptor.HttpInterceptor : request start. servletPath:/sys/user/validateAccountNonExistent.json, methodType:GET 2019-03-14 11:26:11.162 INFO 15436 --- [nio-8081-exec-3] com.hdcs.interceptor.HttpInterceptor : request start. url:/assets/sys/user/validateAccountNonExistent.json, params:{"account":["admin@qq.com"],"_":["1552533963678"]} servletPath==========/sys/user/validateAccountNonExistent.json 2019-03-14 11:26:11.162 INFO 15436 --- [nio-8081-exec-3] com.hdcs.interceptor.HttpInterceptor : request completed. url:/assets/sys/user/validateAccountNonExistent.json, cost:0 ``` js ``` callback: function (value, validator, $field) { var bol = true; $.ajax({ type: "get", url: "/assets/sys/user/validateAccountNonExistent.json", cache : false, async : false, data: { account:value }, success: function(data) { console.log(data.ret); if(!data.ret){ bol = false; } }, error: function () { console.log("caocaocaocao"); bol = false; } }); return bol; } ``` 说明:前台,浏览器F12 network中访问正确200,后台拦截器也拦截到了数据,但是后台没有进方法,连输出语句都没有输出,ajax会走error:function(){}。 但是只要把前后台代码中的访问路径中的validateAccountNonExistent改成validateTelephoneNonExistent就没有问题 =-= 。求解!!!!! 补充 ``` {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}abort: ƒ (e)always: ƒ ()catch: ƒ (e)done: ƒ ()fail: ƒ ()getAllResponseHeaders: ƒ ()getResponseHeader: ƒ (e)overrideMimeType: ƒ (e)pipe: ƒ ()progress: ƒ ()promise: ƒ (e)readyState: 4responseText: ""setRequestHeader: ƒ (e,t)state: ƒ ()status: 200statusCode: ƒ (e)statusText: "parsererror"then: ƒ (t,r,i)__proto__: Object VM513:170 parsererror VM513:171 SyntaxError: Unexpected end of JSON input at parse (<anonymous>) at Ut (jquery.min.js:2) at k (jquery.min.js:2) at XMLHttpRequest.<anonymous> (jquery.min.js:2) at Object.send (jquery.min.js:2) at Function.ajax (jquery.min.js:2) at Object.callback (<anonymous>:153:31) at Object.call (bootstrapValidator.min.js:10) at Object.validate (bootstrapValidator.min.js:10) at b.validateField (bootstrapValidator.min.js:10) ```
求教如何用echart取出dao层中的数据,还有特殊的sql语句写法
我从网上下载的实例已经成功运行,但我想更改他使他更符合我的项目,目前dao层代码如下,表为evaporaton,列为num ``` public List<barEvaporationBean> listAll() { ArrayList<barEvaporationBean> list = new ArrayList<barEvaporationBean>(); PreparedStatement pstmt = null; ResultSet rs = null; try { pstmt = this.getConnection().prepareStatement("SELECT * FROM evaporation"); rs = pstmt.executeQuery(); while (rs.next()) { barEvaporationBean barEvaporation = new barEvaporationBean(); barEvaporation.setNum(rs.getInt("num")); list.add(barEvaporation); System.out.println("连接数据库成功"); } } catch (Exception e) { e.printStackTrace(); } finally { try { connection.close(); } catch (Exception e) { e.printStackTrace(); } } return list; } } ``` bean层代码如下 ``` public class barEvaporationBean { private int id; private int num; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } } ``` 网上的实例是遍历表中所有的元素依次放入list列表,但如果我想获得某个列中具有某个具体属性元素个数的数据呢,比如我想获取user表中machine列中的值为'A1'的元素的个数该怎么办,或者更彻底点我有没有可能依次获取上面那个表和列中值分别为‘A1’,'A2','A3','A4'的值把他放入list?然后echart中的代码是这样的, ``` yAxis : [ { type : 'value' } ], series : [ { "name" : "蒸发量", "type" : "bar", "data" : (function(){ var arr=[]; $.ajax({ type : "post", async : false, //同步执行 url : "barEvaporation.do", data : {}, dataType : "json", //返回数据形式为json success : function(result) { if (result) { for(var i=0;i<result.length;i++){ console.log(result[i].num); arr.push(result[i].num); } } }, error : function(errorMsg) { alert("不好意思,大爷,图表请求数据失败啦!"); myChart.hideLoading(); } }) return arr; })(), markPoint : { data : [ {type : 'max', name: '最大值'}, {type : 'min', name: '最小值'} ] }, markLine : { data : [ {type : 'average', name: '平均值'} ] } ``` 这是Y轴,x轴是自己手打的数据,目前的情况已经成功运行,但是我想更改他让他更符合我的要求,然后这是我毕业设计最后一个模块的最后一部分了,所有积分奉上,跪求dalao帮帮我,我的QQ是390651027,如果有dalao愿意来指导就更好了
关于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>
JSP搜索联想框,新手求指教。
不是用的SSH框架,DAO用JDBC,项目赶工,DAO和Service整合在了一起,我是半路插入的~各位大神先别吐槽……咱先把问题解决再美化~谢谢 页面结构如下 ``` <input name="accountName" id="accountName" class="yhgl_ser required inputElem" onkeyup="getLinkData();" value="<%StringHelper.filterHTML(out, request.getParameter("accountName"));%>" /> <div id="popup" style="position: absolute;"> <table width="100%" bgcolor="#fffafa"> <tbody id="popupBody"></tbody> </table> </div> ``` JS代码如下(借鉴了很多网上的JS方法) ``` <script type="text/javascript"> function getLinkData() { var popupDiv = document.getElementById("info");//获得对应的div对象 var popupBody = document.getElementById("popupBody");//获得对应的tbody对象 var linkDataProperty = document.getElementById("accountName"); //获得对应的输入框对象 clearModels();//清除联想输入提示框的内容 //利用ajax获取后台的模糊查询的数据,并且封装成下拉列表的形式展现出来 $.ajax({ type : "post",//提交的方法为post //对应的Action提交的路径 url : "<%configureProvider.format(out, URLVariable.SEARCH_ACCOUNT);%>", data:{linkDataProperty:linkDataProperty.value},//从前台传递到后台的查询语句的参数 dataType : "json", //从Action中返回的数据的类型为json类型的 error:function(){ alert("没有对应的数据,请查看输入的查询条件!"); }, success : function(data) {//当Ajax提交成功时调用的方法 if(data.length==0){return;} setOffsets();//设置联想输入下拉列表提示框的位置 var tr,td,text; for (var i = 0; i < data.length; i++) {//根据返回的值,手动的拼tbody的内容 text = document.createTextNode(data[i].linkDataProperty);//从Action中返回的数据中取出linkDataProperty的值 td = document.createElement("td");//创建一个td的对象 tr = document.createElement("tr");//创建一个tr的对象 td.mouseOver = function(){this.className="mouseOver;"}; td.mouseOut = function(){this.className="mouseOut;"}; td.onclick = function(){populateModel(this)};//单击td是的方法为populateModel td.appendChild(text); tr.appendChild(td); popupBody.appendChild(tr); } }}); //点击下拉列表中的某个选项时调用的方法 function populateModel(cell) { clearSelect(); linkDataProperty.value = cell.firstChild.nodeValue; //initOtherData(linkDataProperty.value);利用输入框中的数据调用其他方法,初始化其他数据 clearModels();//清除自动完成行 } //清除自动完成行,只要tbody有子节点就删除掉,并且将将外围的div的边框属性设置为不可见的 function clearModels() { while (popupBody.childNodes.length > 0) { popupBody.removeChild(popupBody.firstChild); } popupDiv.style.border = "none"; } //设置下拉列表的位置和样式 function setOffsets() { var width = linkDataProperty.offsetWidth;//获取linkDataProperty输入框的相对宽度 var left = getLeft(linkDataProperty); var top = getTop(linkDataProperty) + linkDataProperty.offsetHeight; popupDiv.style.border = "black 1px solid"; popupDiv.style.left = left + "px"; popupDiv.style.top = top + "px"; popupDiv.style.width = width + "px"; } //获取指定元素在页面中的宽度起始位置 function getLeft(e) { var offset = e.offsetLeft; if (e.offsetParent != null) { offset += getLeft(e.offsetParent); } return offset; } //获取指定元素在页面中的高度起始位置 function getTop(e) { var offset = e.offsetTop; if (e.offsetParent != null) { offset += getTop(e.offsetParent); } return offset; } } //清空输入框中的数据 function clearSelect() { var linkDataProperty=document.getElementById(linkDataProperty); linkDataProperty.value=""; } </script> ``` Servlet代码如下 ``` protected void processPost(HttpServletRequest request, HttpServletResponse response, ServiceSession serviceSession) throws Throwable { //往后传数据 System.out.println("进入servlet,将传入后台:"+request.getParameter("accountName")); //获得DAO服务 ZhglManage manage = serviceSession.getService(ZhglManage.class); //获得前台数据并往后台发送,同时接收返回的结果 String accounts = manage.searchAccountInOneResult(request.getParameter("accountName")); //往前端发送 PrintWriter out = response.getWriter(); System.out.println("返回servlet,即将返回获得的结果:"+accounts+" 给页面"); out.print(accounts); out.close(); } ``` DAO加Service代码如下: ``` public String searchAccountInOneResult(String inputing) throws Throwable { //尝试了Gson但也没成功 Gson gson = new Gson(); System.out.println("进入DAO,传入的参数是:"+inputing); //map方式 Map<String, String> rsMap = new HashMap<String,String>(); String account = ""; String key = ""; //获得连接 Connection conn = getConnection(); //准备SQL语句,获得单列账号信息 String sql = "SELECT @ROW := @ROW +1 AS ROW , t.F02 AS accountName FROM S61.T6110 t, ( SELECT @ROW :=0 )r WHERE t.F02 LIKE '"+inputing+"%' LIMIT 10"; PreparedStatement pstm = conn.prepareStatement(sql); //执行SQL ResultSet rs = pstm.executeQuery(); //获得结果 while(rs.next()){ //map方式 key = rs.getString("accountName"); account = rs.getString("accountName"); rsMap.put(key, account); } String temp = gson.toJson(rsMap); System.out.println("正在打印gson:"+temp); return temp; } ``` 然后控制台是这样的 进入servlet,将传入后台:1 进入DAO,传入的参数是:1 正在打印gson:{"12342@qq.com":"12342@qq.com","12344@qq.com":"12344@qq.com","100@qq.com":"100@qq.com"} 返回servlet,即将返回获得的结果:{"12342@qq.com":"12342@qq.com","12344@qq.com":"12344@qq.com","100@qq.com":"100@qq.com"} 给页面 firefox控制台和页面效果是这样的 ![图片说明](https://img-ask.csdn.net/upload/201505/18/1431943341_591979.png) 我对JS什么的不怎么懂,来请教下各位我哪里有问题,解决方法或者说解决思路应该是怎样的
文件上传$.ajaxFileUpload is not a function
使用ajaxFileUpload进行文件上传,在chrome浏览器脚本控制台报错:$.ajaxFileUpload is not a function,点击上传按钮没有响应。 代码如下: ``` <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> <script type="text/javascript"> function uploadFileByAjax() { //验证文件是否选择文件 var fileObj = $("#uploadFile"); var fileName = fileObj.attr("value"); if(fileName == null || fileName == ""){ return; } alert(fileName); $.ajaxFileUpload({ url : "/Itil/attamgn/upload", //需要链接到服务器地址 secureuri : false, fileElementId : "uploadFile", //文件选择框的id属性 dataType : "json", //服务器返回的格式,可以是json, xml success : function(data, status) //相当于java中try语句块的用法 { //alert("记录ID:" + data.seqId); //alert("文件名:" + data.uplName); attList.push(data.seqId); //修改显示文件列表 var content = "<li id=\"file" + fileIndex + "\" class=\"one-line border-radius-all attach\"><span class=\"name one-line\"><a class=\"ico ico-attach text\">"; content = content + data.uplName + "</a></span>"; content = content + "<span class=\"tool\"><a class=\"ico ico-remove hover\" title=\"删除\" onclick=\"deleteUploadFile('file"+fileIndex + "', '"+ data.seqId +"')\"></a></span></li>"; content = content + $("#fileList").html(); $("#fileList").html(content); }, error : function(data, status, e) //相当于java中catch语句块的用法 { alert("上传失败"); } } ); } </script> <body> <a><span id="" class="ico ico16 ico-attach hover ml10" title="添加附件" onclick="uploadFileByAjax(); return false; "></span></a> </body> ``` 哪位大神指点一下啊! 从访问时的页面源码可以进入引入的jquery.min.js和ajaxfileupload.js文件,可以确认引入没问题。
nginx前端跨域访问不起作用
nginx解决前端跨域访问 本地应用: http://localhost:63342/www/nginx/index.html 用下面语句访问远程 $.ajax({ url: 'https://www.baidu.com/img/bd_logo1.png' , type: 'POST', success: function (data) { alert('success'); }, error: function (data) { alert('error'); } }); 报错: XMLHttpRequest cannot load https://www.baidu.com/img/bd_logo1.png. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. 不允许跨域 安装了nginx,配置如下: server { listen 63343; server_name localhost; location /www/nginx/ { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; proxy_pass https://www.baidu.com/; } } 实际访问的时候,还是不能跨域!比较疑惑,请高手帮忙看看啊
页面直接显示了异步请求的json数据?
我在页面发送异步请求,后台对数据进行处理后返回json字符串,前台并没有进入到success或者error语句块,就直接显示了返回的json字符串。 异步请求: ``` jQuery.ajaxFileUpload({ secureuri:false, type : 'POST', url : 'web/contactsInfo/importExlSave', fileElementId : 'excelFile', dataType : 'json', data : { "projectId":${projectId} }, success : function(data) { if(data.state=='success') { toastr.success("人员导入完成!","系统消息"); $('#modal').modal('hide'); $('#tab').bootstrapTable('refresh', {url: 'web/contactsInfo/contactsInfoList?projectId=${projectId}'}); } else { toastr.error("人员导入出现异常!","系统消息"); } }, error : function(data) { toastr.error("系统发生异常!","系统消息"); } }); ``` 请求的处理方法 ``` public @ResponseBody Map<String,Object> importExlSave(MultipartFile excelFile,HttpServletRequest request,HttpServletResponse response){ String parameter = request.getParameter("projectId"); Map<String,Object> map = new HashMap<String,Object>(); map.put("state", "success"); map.put("message", "完成!"); return map; } ``` 关于将对象转成json字符串的配置 ``` <!-- 返回json格式配置开始 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 解决Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文 <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"> <property name="extractValueFromSingleKeyModel" value="true" /> </bean> --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list > <ref bean="mappingJacksonHttpMessageConverter" /> </list> </property> </bean> <!-- 返回json格式配置结束 --> ``` 大概就是这样。 我提交请求后得到的响应是这样的: ![图片说明](https://img-ask.csdn.net/upload/201702/28/1488266497_61268.png) 跪求大神帮助 如果觉得我给的不够详细,可以提出来,我补充
又来麻烦各位了 实在抱歉(很基础的东西)
前端一个标表 获取数据之后 传到一般处理程序 一般处理程序做了 相应的sql语句 返回的是一个int类型的数据 我想问一下 一般处理程序怎么返回这个值 然后前端 怎么获取到 下面的 这段代码有没有什么问题 - - **大神** ``` function aa() { if ($("#Name").val() == "" || $("#Age").val() == "" || $("#strBiye").val() == "" || $("#Nation").val() == "" || $("#strJiguan").val() == "" || $("#strXueli").val() == "" || $("#Caiyi").val() == "" || $("#Resume").val() == "" || $("#Tel").val() == "" || $("#Gongzuo").val() == "") { alert("请填写完整信息") } else { var strName = $("#Name").val(); var strAge = $("#Age").val(); var strNation = $("#Nation").val(); var strBiye = $("#Biye").val(); var strJiguan = $("#Jiguan").val(); var strXueli = $("#Xueli").val(); var strCaiyi = $("#Caiyi").val(); var strResume = $("#Resume").val(); var strGongzuo = $("#Gongzuo").val(); var strTel = $("#Tel").val(); $.ajax({ type: "POST", url: "/Handler1.ashx", data: { strName: strName, strAge: strAge, strNation: strNation, strBiye: strBiye, strJiguan: strJiguan, strXueli: strXueli, strCaiyi: strCaiyi, strResume: strResume, strGongzuo: strGongzuo, strTel: strTel }, success: function (data){ } } }) } } ```
MVC项目,根据判断条件决定文本框还是下拉框
要求根据视图中变更项目(CICD)决定变更值(CHV)是text还是dropdownlist ``` <tr> <th style="width:20%"><font class="redstar">*</font>变更项目</th> <td> @Html.DropDownListFor(model => model.CICD, new SelectList(Dics.GetItems(Dics.DicTypes.itmJczBgxm, true), "CD", "NM", "20"),new { onchange = "MinDate()" }) @Html.ValidationMessageFor(model => model.CICD) </td> </tr> <tr> <tr> <th>变更值</th> <td> @Html.TextBoxFor(model => model.CHV, new { htmlAttributes = new { } }) @Html.ValidationMessageFor(model => model.CHV) </td> </tr> ``` 我的思路是:绑定onblur()方法,使用ajax提交到后台,从后台进行判断。 视图中js语句: ``` function ChoseInputStyle() { var a = $('#CICD').val(); $.ajax({ type: "post", //dataType:"json", url: '/StchAtt/InputStyle ', data: {cicd: a }, success: function (data) { if (data == "jczlb") { $('#CHV'). //这里不会写 } }); } ``` 控制器中方法: ``` public string InputStyle(string cicd) { string input = ""; if (cicd != null) { if(cicd=="01" || cicd == "02" || cicd == "05" || cicd == "06" || cicd == "07") { input = "text"; return input; } else if (cicd == "08") { //jczlb--"监测站类别"首字母 input = "jczlb"; return input; } } return input; } ``` 希望各位大神们bang'bang'mang
ajaxFileUpload上传excel到node端,为什么undefined,传不上去
前端: function fileUpload(url, data, file, callback) { $.ajaxFileUpload( { url: url, //需要链接到服务器地址 secureuri: false, data: data, file: file, //要上传的文件 dataType: 'json', //服务器返回的格式,可以是json,xml success: function (back,status) //相当于java中try语句块的用法 { callback(back); console.log("444--"+back) }, error: function (back, status, e) //相当于java中catch语句块的用法 { callback(back); console.log("111---"+back+"222---"+status+"333---"+e) } } ); } fileUpload('/importTeacher', "", xlsFile, function (back) { console.log(xlsFile); console.log("back--"+back); queryHintCallback("query_hint"); $("#importTeacher").removeClass("pltj_disable").addClass("pltj_input"); var bd = JSON.parse(JSON.stringify(back)).responseText; if (bd.indexOf("success") != -1) { alertMsg("导入成功!"); setTimeout("history.go(-1)", 1300); }else{ alertMsg(bd); } }); node端: exports.importTeacher = function(req,res) { res.writeHead(200, {"content-type": "text/plain"}); var user = req.session.user; var qd = util.getData(req); var files = req.files; 这个files为undefined????????????? var data = { kindergartenCode: user.data.kindergartenCode }; for (var name in files) { var file = files[name]; var image = base64_encode(file.path); data.excels = image; generalService.teacherService_post("/importTeachers",data,user.token,function (back) { unlinkFile(file.path); try{ var data = JSON.parse(back); res.end(data.msg); } catch(e) { res.end("error"); } }); } console.log("fail666666666666666666666666666666") }
SpringMVC+hibernate4+Extjs4.2+mysql(空指针异常)
@ResponseBody @RequestMapping("/daochu.do") public Object daochu(String id,HttpServletRequest request)throws Exception{ String ids=id.replaceAll(",", "','"); //System.out.println(ids); //根据两个id同时查询两条语句 String hql="FROM WorkOrders WHERE id IN ('"+ids+"')"; //String hql="FROM WorkOrders w where w.id=?"; //System.out.println(ids); System.out.println(id); Query query=sessionFactory.openSession().createQuery(hql); //query.setString(0, id); List list=query.list(); Iterator i=list.iterator(); Workbook wb=new HSSFWorkbook(); Sheet sheet=wb.createSheet("第一个sheet页"); int m=0; int n=0; while(i.hasNext()){ WorkOrders user = (WorkOrders) i.next(); Row row=sheet.createRow(m); Cell cell1=row.createCell(0); Cell cell2=row.createCell(1); Cell cell3=row.createCell(2); Cell cell4=row.createCell(3); Cell cell5=row.createCell(4); Cell cell6=row.createCell(5); Cell cell7=row.createCell(6); cell1.setCellValue(user.getId()); cell2.setCellValue(user.getFailuretime()); cell3.setCellValue(user.getFailureaddress()); cell4.setCellValue(user.getRepairtime()); cell5.setCellValue(user.getMaintenanceman()); cell6.setCellValue(user.getCompletion()); cell7.setCellValue(user.getFailurecontent()); m++; } String fileName="sss.xls"; String path=request.getSession().getServletContext().getRealPath("/")+"file"+"\\"+fileName;// .servletContext.getRealPath(""); System.out.println(path); //在该位置导出excel文件 //F:\lr_space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SpringMVC2\file FileOutputStream fileOut=new FileOutputStream(path); wb.write(fileOut); fileOut.close(); return "success"; } ---------- 前台的页面Extjs export_Item:function(button){ var grid=button.up('globalStatisticsView') var data =grid.getSelectionModel().getSelection(); if(data.length==0){ Ext.Msg.alert("提示","您至少选择一条数据") }else{ //1.先得到ID的数据(name) var st=grid.getStore(); var ids=[]; Ext.Array.each(data,function(record){ ids.push(record.get('id')); }); //2.后台操作 Ext.Ajax.request({ params:{ids:ids.join(",")}, url:'gdgl/daochu.do?id='+ ids, method:'POST', timeout:2000, async:false, success:function(response,opts){ Ext.Array.each(data,function(record){ st.getById(record); //st.removeAll(record); }); } }); Ext.Msg.alert("报表成功导出","<font color='green'>报表导出成功!谢谢!<font>"); } }, ---------- 报出的异常错误是: 5,6 十二月 25, 2013 10:57:36 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet spring threw exception java.lang.NullPointerException at cn.com.cisec.hnjt.control.WorkOrdersController.daochu(WorkOrdersController.java:114) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838) at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 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:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) ---------- 还有火狐调试的时候发现POST传值去后台时会发生 POST daochu.do?id=5,6 500 Internal Server Error 127.0.0.1:8080 3.4 KB 127.0.0.1:8080
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
小白学 Python 爬虫(25):爬取股票信息
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
小知识:浅谈二维码的生成和识别原理
目录 前言 条形码 静态二维码 二进制生成图形码 二维码的定位 前言 不知不觉中,我们的生活到处充满了二维码。登录账户需要二维码;加好友需要二维码;共享单车需要二维码;商品包装上也有二维码;甚至连楼下卖水果的阿姨手里都拿张二维码收款。那么,有没有想过这个二维码到底是什么东西呢?那么这个二维码的图案会不会多到不小心重合了呢? 条形码 在二维码出现之前,大行其道的...
[享学Jackson] 一、初识Jackson -- 世界上最好的JSON库
Jackson是一个简单的、功能强大的、基于Java的**应用库**。它可以很方便完成**Java对象**和**json对象(xml文档or其它格式)**进行互转。Jackson社区相对比较活跃,更新速度也比较快。Jackson库有如下几大特性: - 高性能,稳定:低内存占用,对大/小JSON串,大/小对象的解析表现均很优秀 - 流行度高:是很多流行框架的默认实现 - 容易使用:提供高层次的API,极大简化了日常使用 - 无需自己手动创建映射:内置了绝大部分序列化时和Java类型的映射关系 - 干净的JSO
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
世界上最牛的网络设备,价格低廉,其貌不扬......
夜深人静,电视和电脑都已经关机休息,但是我还在默默工作,我安静地趴在你家中的某个地方,7*24小时不眠不休,任劳任怨,目的只有一个,能让你舒服地躺在床上,畅快地刷手机!没错,这就是我,...
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
立即提问