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回调函数进行刷新页面?求大神解答!
求教如何用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愿意来指导就更好了
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) ```
关于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能立即加载信息。
关于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) 跪求大神帮助 如果觉得我给的不够详细,可以提出来,我补充
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
又来麻烦各位了 实在抱歉(很基础的东西)
前端一个标表 获取数据之后 传到一般处理程序 一般处理程序做了 相应的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){ } } }) } } ```
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
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
MyBatis研习录(01)——MyBatis概述与入门
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis原本是apache的一个开源项目iBatis, 2010年该项目由apache software foundation 迁移到了google code并改名为MyBatis 。2013年11月MyBatis又迁移到Github。
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://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...
Python爬虫精简步骤1 获取数据
爬虫,从本质上来说,就是利用程序在网上拿到对我们有价值的数据。 爬虫能做很多事,能做商业分析,也能做生活助手,比如:分析北京近两年二手房成交均价是多少?广州的Python工程师平均薪资是多少?北京哪家餐厅粤菜最好吃?等等。 这是个人利用爬虫所做到的事情,而公司,同样可以利用爬虫来实现巨大的商业价值。比如你所熟悉的搜索引擎——百度和谷歌,它们的核心技术之一也是爬虫,而且是超级爬虫。 从搜索巨头到人工...
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那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
web前端javascript+jquery知识点总结
1.Javascript 语法.用途 javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
听说想当黑客的都玩过这个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的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
渗透测试-灰鸽子远控木马
木马概述 灰鸽子( Huigezi),原本该软件适用于公司和家庭管理,其功能十分强大,不但能监视摄像头、键盘记录、监控桌面、文件操作等。还提供了黑客专用功能,如:伪装系统图标、随意更换启动项名称和表述、随意更换端口、运行后自删除、毫无提示安装等,并采用反弹链接这种缺陷设计,使得使用者拥有最高权限,一经破解即无法控制。最终导致被黑客恶意使用。原作者的灰鸽子被定义为是一款集多种控制方式于一体的木马程序...
Python:爬取疫情每日数据
前言 目前每天各大平台,如腾讯、今日头条都会更新疫情每日数据,他们的数据源都是一样的,主要都是通过各地的卫健委官网通报。 以全国、湖北和上海为例,分别为以下三个网站: 国家卫健委官网:http://www.nhc.gov.cn/xcs/yqtb/list_gzbd.shtml 湖北卫健委官网:http://wjw.hubei.gov.cn/bmdt/ztzl/fkxxgzbdgrfyyq/xxfb...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允许使用这...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧???? 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升自...
粒子群算法求解物流配送路线问题(python)
1.Matlab实现粒子群算法的程序代码:https://www.cnblogs.com/kexinxin/p/9858664.html matlab代码求解函数最优值:https://blog.csdn.net/zyqblog/article/details/80829043 讲解通俗易懂,有数学实例的博文:https://blog.csdn.net/daaikuaichuan/article/...
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang....
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
情人节来了,教你个用 Python 表白的技巧
作者:@明哥 公众号:Python编程时光 2020年,这个看起来如此浪漫的年份,你还是一个人吗? 难不成我还能是一条狗? 18年的时候,写过一篇介绍如何使用 Python 来表白的文章。 虽然创意和使用效果都不错,但有一缺点,这是那个exe文件,女神需要打开电脑,才有可能参与进来,进而被你成功"调戏”。 由于是很早期的文章了,应该有很多人没有看过。 没有看过的,你可以点击这里查看:用Pyt...
相关热词 c#如何定义数组列表 c#倒序读取txt文件 java代码生成c# c# tcp发送数据 c#解决时间格式带星期 c#类似hashmap c#设置istbox的值 c#获取多线程返回值 c# 包含数字 枚举 c# timespan
立即提问