微信的h5页面 ajax 请求后 一直走error 10C

手机端 请求
请求发送后台 请求参数后台接受到了,而且返回参数发送了,但是ajax一直在走error而不是success

1.url地址是对的
2.返回参数是json格式
3.参数后台接收到了并且参数正确
4.
XMLHttpRequest.status=0,
XMLHttpRequest.readyState=0,
textStatus=error

                 $.ajax({
                        async: false,
                        cache: false,
                        type:"post",
                        url: "http://192.168.0.128:8080/zhifushouquan/zhufu/wxPay",
                        data: {
                            userinfo:code,
                            code:storeId,
                            manySum:money,
                            version:1,
                            productContent:"微信核销",
                            system:1
                        },
                        dataType: "json",
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                                alert("付款提交失败,错误代码:"+XMLHttpRequest.status);
                                alert("付款提交失败,错误代码:"+XMLHttpRequest.readyState);
                                alert("付款提交失败,错误代码:"+textStatus);
                            },
                        success: function(data) {
                            alert(data.return_msg.state);

                        }


                    })

后台代码
图片说明
最终执行
图片说明

19个回答

缺一个type=“json”

diandian_666
diandian_666 再检查一下
大约 2 年之前 回复
qq_17007385
GGBOND_zzx 你后台返回的数据不是json格式吧
大约 2 年之前 回复
weixin_40915647
温酒不说谎 回复奔跑的逗比: 不是这个问题 我之前也加了 不行
大约 2 年之前 回复
Robert_THX
奔跑的逗比 dataType=“json”
大约 2 年之前 回复

如果你程序没有刻意限制的话,也可以通过pc的浏览器访问你这个网页,然后抓包看下服务器返回的是什么状态码。404是地址写错了,500是服务器端有错误,200是你正确返回了,再看你js怎么解析的。

首先看返回的值是什么,再看看参数的格式是否正确

看看后台控制器代码,在前端console.log(data)

目测缺失contentType,请求体中的数据类型,下面给你贴个模板,自行比较
$.ajax({
url : url,
type : "POST",
contentType: "application/json;charset=utf-8",
data :data,
dataType : "json",
success : function(result) {
if (result == "success") {
} else {
}
},
error:function(msg){
}
})

是不是你的返回结果,不符合json 格式,解析出错

是不是你的返回结果,不符合json 格式,解析出错

weixin_40915647
温酒不说谎 应该不是的 后台返回的都是json格式的
大约 2 年之前 回复

浏览器f12看返回什么啊?

weixin_40915647
温酒不说谎 回复qq_29401089: 微信端的手机页面
大约 2 年之前 回复
qq_29401089
qq_29401089 电脑端浏览器按F12可以模拟手机浏览器的
大约 2 年之前 回复
gshxrc
gshxrc 看,F12看返回什么啊,
大约 2 年之前 回复
weixin_40915647
温酒不说谎 是手机端的h5页面
大约 2 年之前 回复

type=“json”

贴一下你后台返回的代码看看,可能是返回的问题没有获取到后台传来的返回值

weixin_40915647
温酒不说谎 贴好了,请帮忙看下
大约 2 年之前 回复
共19条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于微信前后台请求与Ajax的关系
最近在开发微信小程序,里面有很多让我感觉似曾相识的地方,微信小程序中常见的代码诸如: function queryRequest(data){ wx.request({ url:"https://example.com/api/", data:data, header:{ 和正常我们在页面开发时常用的Ajax异步请求: $.ajax({ type: 'POST', url: 'sendCode', data: {"mobile": mobile}, dataType: "json", async: false, cache: false, error: function () { alert("验证码发送失败"); return false; }, success: function (data) { //alert("验证码发送成功"); } 是否有区别?还是都是类似的东西?希望哪位大神可以给我答疑解惑
微信内网页ajax偶尔会进入error异常,有遇到过的小伙伴吗?
微信内网页的ajax请求偶尔会进入error异常,<br> 返回码:{"readyStatus":0,"status":0,"statusText":"error"},<br> 大家有遇到这个情况的吗? 这个问题最关键的是只有**偶然**概率才会进入error,其他大部分都是正常的,说明前台和后台都是没有问题的吧,找了很久原因也没有找到,如有有遇到过这个问题的小伙伴请告知一下这个问题是什么原因以及解决方案。谢谢! <br/><br/> 这个问题有了新的发现: 使用手机抓包工具,在微信客户端访问测试页面,发现当ajax进入error的时候,没有返回任何状态码,也就是该ajax请求没有得到服务器响应。抓包工具给的备注是:socket closed by remote peer <br/> ps:目前只在iphone微信客户端发现这个问题,在安卓手机微信端测试目前还没有发现这个问题。 <br/> 该问题还在进一步研究中,如果有遇到过这个问题的朋友请指点一下,谢谢了。
微信网页获取openid,中跨域请求的问题
其中请求方法如下。 ```function startWeChatHttpRequest(method, url, postData, callback) { $.ajax({ contentType: "application/json; charset=utf-8", dataType: "json", url: url, type: method, data: postData, cache: false, async: true, success: function(result) { console.log('result :', result); callback(result); }, error: function(result) { console.log(JSON.stringify(result)); } }); } ```
微信扫码支付成功后如何跳转?异步请求的查询订单接口要怎么写?
<script> var t1; var sum=0; $(document).ready(function () { t1=setInterval("ajaxstatus()", 3000); }); function ajaxstatus() { sum++; if(sum>600){ window.clearInterval(t1);return false;} if(sum>180){ m=sum % 10; if(m!=0){return false;} } if ($("#out_trade_no").val() != 0) { $.ajax({ url: "http://www.wojuhome.cn/app/_core/Extend/Vendor/wxpay/example/orderquery2.php", type: "GET", dataType:"json", data: { out_trade_no:$("#out_trade_no").val() }, beforeSend: function () { }, success: function (data) { if (data=="SUCCESS") { window.location.href = "http://www.wojuhome.cn/app/_core/Extend/Vendor/wxpay/example/index.php"; //页面跳转 } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("请求订单状态出错"); } }); } } </script>
微信公众号分享接口updateAppMessageShareData 没有回调
由于微信版本的升级,旧版的分享接口已经即将弃用,不少新版本的微信用户反映分享功能有BUG, 看了下文档微信公众号新的分享接口, “请注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口” 所以就用了updateAppMessageShareData 这个接口来分享,分享的话是成功了,但是由于 业务关系 需要在分享成功之后做一些操作,按找文档上的代码格式编写了回调函数,但是没有分享成功或取消分享之后没有回调。求解。代码如下 function lqCard(){ var url = window.location.href; var openid = $("#openid").val(); var sign = $("#sign").val(); var remberId= $("#remberId").val(); //alert("remberId:"+remberId+"openid:"+openid); $.ajax({ url: "<@spring.url '/getJSSDKSignature'/>", //请求的url地址 dataType: "json", //返回格式为json data: { "url":url, }, //参数值 type: "GET", //请求方式 success: function(result) { var appId = result.appId; var timestamp = result.timestamp; var nonceStr = result.nonceStr; var signature = result.signature; wx.config({ debug: true, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'updateAppMessageShareData' ] }); wx.ready(function(){ var remark="123"; var url="https://www.xxxx.cn"; var imgURL="https://www.xxxx.cn/xx.jpg"; wx.updateAppMessageShareData({ title: remark, // 分享标题 desc: "点击领取电子凭证", // 分享描述 link: url, imgUrl:imgURL, // 分享图标 },function (res) { alert("[调试信息]"); }); }); wx.error(function(res){ alert("error"); }); } }); } ``` ```
微信扫码支付ajax轮询如何实现跳转?是否在orderquery2.php查询接口中要做处理?
<script> var t1; var sum=0; $(document).ready(function () { t1=setInterval("ajaxstatus()", 3000); }); function ajaxstatus() { sum++; if(sum>600){ window.clearInterval(t1);return false;} if(sum>180){ m=sum % 10; if(m!=0){return false;} } if ($("#out_trade_no").val() != 0) { $.ajax({ url: "http://www.wojuhome.cn/app/_core/Extend/Vendor/wxpay/example/orderquery2.php", type: "GET", dataType:"json", data: { out_trade_no:$("#out_trade_no").val() }, beforeSend: function () { }, success: function (data) { if (data==1) { window.location.href = "http://www.wojuhome.cn/app/_core/Extend/Vendor/wxpay/index.php"; //页面跳转 } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("请求订单状态出错"); } }); } } </script>
使用Springmvc开发微信公众号数据传输问题
返回给微信服务器的XML格式的字符串,发现在公网Linux服务器中,tomcat的catalina.out文件打印的该字符串少了<ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[FromUser]]></FromUserName> <CreateTime>123456789</CreateTime> 这几行标签,手机微信提示该订阅号无法提供服务,请稍后再试。 该问题找了好久都找不出原因。是springmvc的数据传输有问题吗? 我贴一下springmvc.xml配置,求帮忙解答!!~ <!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 --> <!-- 加载controller的时候,不加载service,因为此时事物并未生效,若此时加载了service,那么事物无法对service进行拦截 --> <context:component-scan base-package="org.jeecgframework.web.*,weixin.*"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" /> </context:component-scan> <!-- ApplicationContext --> <bean class="org.jeecgframework.core.util.ApplicationContextUtil"></bean> <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射, 配置一个基于注解的定制的WebBindingInitializer,解决日期转换问题,方法级别的处理器映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="cacheSeconds" value="0" /> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> <property name="webBindingInitializer"> <bean class="org.jeecgframework.core.interceptors.MyWebBinding" /> </property> </bean> <!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- --> <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="3"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="contentType" value="text/html" /> <property name="prefix" value="/webpage/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8"> <property name="maxUploadSize"> <value>104857600</value> </property> <property name="maxInMemorySize"> <value>4096</value> </property> </bean> <!-- Bean解析器,级别高于默认解析器,寻找bean对象进行二次处理 --> <bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"> </bean> <!-- Excel 处理 根据用户输入进行对象处理 --> <bean id="jeecgExcelView" class="org.jeecgframework.poi.excel.view.JeecgSingleExcelView" /> <!-- 方言 --> <bean id="dialect" class="org.jeecgframework.core.common.hibernate.dialect.DialectFactoryBean"> <property name="dbType" value="${jdbc.dbType}" /> </bean> <!-- 异常处理类 --> <bean id="exceptionHandler" class="org.jeecgframework.core.common.exception.MyExceptionHandler" /> <!-- 系统错误转发配置[并记录错误日志] --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView" value="500"></property> <!-- 默认为500,系统错误(error.jsp) --> <property name="defaultStatusCode" value="404"></property> <property name="statusCodes"><!-- 配置多个statusCode --> <props> <prop key="error">500</prop> <!-- error.jsp --> <prop key="error1">404</prop> <!-- error1.jsp --> </props> </property> <property name="exceptionMappings"> <props> <!-- 这里你可以根据需要定义N多个错误异常转发 --> <prop key="java.sql.SQLException">dbError</prop> <!-- 数据库错误(dbError.jsp) --> <prop key="org.springframework.web.bind.ServletRequestBindingException">bizError</prop> <!-- 参数绑定错误(如:必须参数没传递)(bizError.jsp) --> <prop key="java.lang.IllegalArgumentException">bizError</prop> <!-- 参数错误(bizError.jsp) --> <prop key="org.springframework.validation.BindException">bizError</prop> <!-- 参数类型有误(bizError.jsp) --> <prop key="java.lang.Exception">unknowError</prop> <!-- 其他错误为'未定义错误'(unknowError.jsp) --> </props> </property> </bean> <!-- 拦截器 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.jeecgframework.core.interceptors.EncodingInterceptor" /> </mvc:interceptor> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.jeecgframework.core.interceptors.AuthInterceptor"> <property name="excludeUrls"> <list> <value>loginController.do?goPwdInit</value> <value>loginController.do?pwdInit</value> <value>loginController.do?login</value> <value>loginController.do?checkuser</value> <value>repairController.do?repair</value> <value>repairController.do?deleteAndRepair</value> <value>cmsMenuController.do?index</value> <value>cmsArticleController.do?cmsArticleListShow</value> <value>cmsArticleController.do?datagridwx</value> <value>cmsArticleController.do?cmsArticleShow</value> <value>cmsController.do?goPage</value> <value>cmsController.do?getMenuList</value> <value>wechatController.do?wechat</value> <value>zpController.do?iscontinue</value> <value>zpController.do?saveZpPrize</value> <value>zpController.do?getZpPize</value> <value>zpController.do?saverecord</value> <value>zpController.do?ggl_new</value> <value>zpController.do?ggl</value> <value>zpController.do?zp</value> <value>zpController.do?goZhuanpan</value> <value>weixinCmsStyleController.do?upload</value> <value>newsItemController.do?newscontent</value> <!-- 保存用户 --> <value>userController.do?saveUser</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors>
click事件的ajax触发不了,请求大神解答
``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>登录</title> <link rel="icon" href="/assets/images/favicon.ico?verson=<%=Math.random()%>>"> <link href="/assets/css/base1.css" rel="stylesheet" type="text/css" /> <link href="/assets/css/base.css" rel="stylesheet" type="text/css" /> <link href="/assets/css/global.css" rel="stylesheet" type="text/css" /> <style type="text/css"> .login_fs { position: absolute; right: 0; top: 9.5%; width: 52px; height: 52px; cursor: pointer; z-index:100 } .qrcode_btn { background: #ffffff url(/assets/images/loginfs.png) no-repeat; } .qrcode_btn:hover { background: #ffffff url(/assets/images/loginfs.png) no-repeat 0px -60px; } </style> <script type="text/javascript" src="/assets/js/jquery.min.js"></script> <script type="text/javascript" src="/assets/js/jquery-ui.min.js"></script> <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> </head> <body class="login_bg"> <div class="logo"><div class="fl"><img src="/assets/images/logo.png?verson=<%=Math.random()%>>"/></div><div class="fl logolm">办公系统</div></div> <div class="login"> <div class="login_fs qrcode_btn" title="微信扫码登录" onclick="showQrcode()"></div> <div id="login"> <form action="/login" method="post" id="myform" class="form-horizontal" > <div class="login_tab"> <div class="lm">员工登录</div> <div class="login_form"> <ul> <li class="login_user"><input id="userName" name="staffVO.userName" type="text" style="width:95%" class="login_text" value="" placeholder="登录用户名" required autofocus /></li> <li class="login_pass"><input id="password" name="staffVO.password" type="password" style="width:95%" class="login_text" placeholder="登录密码" required/><span class="error">${errorMessage }</span></li> <li class="login_btndiv" style="margin-top: 25px"><input id="Button1" type="submit" value="登录" class="login_btn"/></li> </ul> </div> <div class="mt10"><a href="/toResetStep1" style="color:#ee5252" >忘记密码/花名</a></div> <div class="mt10">地区:通州,南通,如东,广州,南京,佛山</div> </div> </form> <div class="login_banner">创新&nbsp;&nbsp;专业&nbsp;&nbsp;合作&nbsp;&nbsp;务实</div> </div> </div> <div id="loginTab" style="position:absolute;top:20%;left:38%;display:none"></div> <script type="text/javascript"> $(function(){ var code = '${param.code}'; if(code){ location.href = "/index"+location.search; } }); var appID = "wx9c2800cfc46895f0"; var uri = "http://www.zhizaolian.com:9090"; var obj = new WxLogin({ id: "loginTab", appid: appID, scope: "snsapi_login", redirect_uri: encodeURI(uri), state: guid() }); function showQrcode(){ $(".login").css("opacity", "0.1"); $(".logo").css("opacity", "0.1"); $("#loginTab").css("display", "block"); $("input").css("pointer-events", "none"); $(".qrcode_btn").css("pointer-events", "none"); } $("#login, .logo").click(function(){ if($("#loginTab").css("display")=='block'){ $("#loginTab").css("display", "none"); $(".login").css("opacity", "1"); $(".logo").css("opacity", "1"); $("input").css("pointer-events", ""); $(".qrcode_btn").css("pointer-events", ""); } }); function guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8); return v.toString(16); }); } $("#Button1").click(function(){ alert(1); var userName =$("#userName").val(); var password =$("#password").val(); $.ajax({ url:'/chaxunContract', type:'post', data:{userName:userName,password:password}, dataType:'json', success:function(data){ alert(2); alert(data.diff); if(data.diff>3){ var params = $("#myform").serialize(); window.location.href="/login"+ decodeURICompoent(params,true); Load.Base.LoadingPic.FullScreenShow(null); }else if(data.diff<=3 && data.diff>=0){ layer.open({ offset:'100px', title:'提醒', content:"您的劳动合同于"+data.endDate+"到期,请联系人事部门进行续签", success:function(index){ layer.close(index); var params = $("#myform").serialize(); window.location.href="/login"+ decodeURICompoent(params,true); Load.Base.LoadingPic.FullScreenShow(null); } }) }else if(data.diff<0){ layer.alert("您的劳动合同已于"+data.endDate+"到期,请联系人事部门进行续签后再登录"); }else if(data.diff=='no'){ layer.alert("您暂时未签署劳动合同,请联系人事部门进行签署后再登录"); } } }) }) </script> </body> </html> ``` click事件的ajax触发不了,请求大神解答
手机测试 wx.config 无反应,愿意发微信红包, 求大佬帮忙分析解决
我在微信开发工具测试, wx.config 显示ok , wx.chooseWXPay.没有此SDK或暂不支持此SDK模拟 **问题出在, 我用手机测试 (ios,android) wx.config无反应,** erro和ready均不进入 wx.chooseWXPay也无法用, 我在https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 验证了签名是一毛一样的, 求教大佬, 我这代码是出了啥毛病 ``` <!doctype html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html lang="zh-cn"> <head> <%@include file="/pc/inc/commoncontent.inc"%> <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script src="<%=contextPath%>/m/smartHotel/script/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> </script> <title>订单-支付</title> <span class="disb picNum padTB30"><i class="disib iconPic" onClick="openPic(this);" >3532rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr张</i></span> </head> <body> <script type="text/javascript"> var appId1,timeStamp1,nonceStr1,packageStr1,signType1,paySign1; $(document).ready(function () { $.ajax({ url : contextPath+ "/weixin/hotelorder/wxPay.action", type:"post", dataType:'json', //接受数据格式 async: false, data:{url:window.location.href.split('#')[0].replace(/\&/g,"%26")},//传参,建议使用json //1:手机号, 2:房间数.3单价4总价 5: 当前bedid 6 :入住人 姓名 7 发票8 入住日离开日 error:function(data){//请求失败时处理 // alert(data); window.location.href = '<%=contextPath%>/m/smartHotel/html/yysb.html'/*预订失败页*/ }, success:function(data) { if( data) { appId1 = data.pay.appId; timeStamp1 = data.pay.timeStamp; nonceStr1 = data.pay.nonceStr; packageStr1 = data.pay.package; signType1 = data.pay.signType; paySign1 = data.pay.paySign; } wx.config({ debug:false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:data.pay.appId, // 必填,公众号的唯一标识 timestamp:data.config.timestamp, // 必填,生成签名的时间戳 nonceStr:data.config.noncestr, // 必填,生成签名的随机串 signature:data.config.configSign, // 必填,签名,见附录1 jsApiList:['chooseWXPay','closeWindow'] }); wx.error(function(res){ alert("error enter"); }); wx.ready(function(){ alert("ready enter"); pay(); }); //onBridgeReady(); // alert("success inter"); } }); }); function pay() { // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 console.log(appId1 +" / "+ timeStamp1+" / " + nonceStr1+" / "+packageStr1 +" / "+ signType1+" / "+paySign1); wx.chooseWXPay({ timestamp:timeStamp1, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr:nonceStr1, // 支付签名随机串,不长于 32 位 package:packageStr1, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType:signType1, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign:paySign1, // 支付签名 success:function(res) { alert("8888888888888"); alert(res); alert(res.errMsg); console.log(res.errMsg); // 支付成功后的回调函数 if (res.errMsg == "chooseWXPay:ok") { //支付成功 alert('支付成功'); } else { alert(res.errMsg); } } }); } function onBridgeReady(){ alert("进入了onbridgeready"); WeixinJSBridge.log("889"); WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":appId1, //公众号名称,由商户传入 "timeStamp":timeStamp1, //时间戳,自1970年以来的秒数 "nonceStr":nonceStr1, //随机串 "package":packageStr1, "signType":"MD5", //微信签名方式: "paySign":paySign1 //微信签名 }, function(res){ WeixinJSBridge.log(res); alert("进入了success"); alert(res.errorMsg); // 使用以下方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 if(res.errMsg == "get_brand_wcpay_request:ok") { alert("支付成功"); // window.location.href = "${pageContext.request.contextPath}/wx/success?orderId=${orderId}"; }else if(res.errMsg == "get_brand_wcpay_request:fail"){ alert('支付失败'); }else if(res.errMsg == "get_brand_wcpay_request:cancel"){ alert('支付取消'); }else{ alert(res.errMsg); } } ); } function openPic() { pay(); //wx.closeWindow(); } //调用模拟 回调 // $.ajax({ // url : contextPath+ "/weixin/hotelorder/moniWXPay.action", // type:"post", // dataType:'json', //接受数据格式 // async: false, // data:{parm1:getQueryString2("orderId")},//传参,建议使用json // error:function(data){//请求失败时处理 // alert(data); // }, // success:function(data) // { // if(data.result =="success") // { // window.location.href = '<%=contextPath%>/m/smartHotel/html/yycg.jsp?orderId='+getQueryString2("orderId"); // } // // } // }); function getQueryString2(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if(r != null) return decodeURI(r[2]); return null; } </script> </body> </html> ```
调用扫一扫接口scanQRCode 没有反应
我前端调用扫一扫接口,莫得反应是怎么回事,,获取签名什么的都成功了,,debug 也没用弹出信息 ``` $.ajax({ url: '请求签名的后台地址', method: "post", xhrFields: { withCredentials: true }, data: pageUrl,//获取当前页面路径 dataType: "json", cache: false,//第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取 success: function(data) { console.log(data) console.log(pageUrl.url) console.log(data.nonceStr) // //alert(data.member.nickName); wx.config({ debug:true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,                                                            仅在pc端时才会打印。 appId: data.appID, // 必填,公众号的唯一标识 timestamp: data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature, // 必填,签名,见附录1 jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表, }); console.log(wx); wx.error(function(res){ alert("错误信息== " + res.errMsg); }); wx.ready(function(){ console.log("----------------------") wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 alert(result); } }); }); } }); ```
IE浏览器下直接报错SCRIPT1002: 语法错误 index.html, 行420 字符2 其他浏览器无任何错误
我用的的单独vue.js文件 其他的浏览器没有任何影响 请问一下各位 这是哪里不正确,百度也查了 改一个地方其他的地方又给你一个错 改着后面谷歌之类的浏览器都用不了了, <script type="text/javascript"> const BASE_URL = '/admin.php/pay/'; const USERID = '142'; const app = new Vue({ el: '#app', data: { product_type: 1, level: 1, grades: [], products: [], choose_product: null, choose_prodouct_id: null, time: 5, name: null, address: null, phone: null, note: '', delivery: 0, pay: 'wechatpay', title: '提示', content: '内容', number: 1, timer: null, order_id: null, shunfeng: 15 }, computed: { product_select_class() { return function(type) { return this.product_type == type ? 'select-class select-hover' : 'select-class'; } }, level_select_class() { return function(level) { return this.level == level ? 'insurance-select select-hover' : 'insurance-select'; } }, time_select_class() { return function(time) { return this.time == time ? 'insurance-select select-hover' : 'insurance-select'; } }, delivery_select_class() { return function(delivery) { return this.delivery == delivery ? 'insurance-select select-hover' : 'insurance-select'; } }, pay_btn_select_class() { return function(pay) { if (pay === 'wechatpay') { return this.pay === pay ? 'btn-wechatpay pay_type_active' : 'btn-alipay'; } else if (pay === 'alipay') { return this.pay === pay ? 'btn-alipay pay_type_active' : 'btn-wechatpay'; } } }, pay_check_select_class() { return function(pay) { if (pay === 'wechatpay') { return this.pay === pay ? 'pay_type_wechatcheck pay_type_wchecked' : 'pay_type_alipaycheck'; } else if (pay === 'alipay') { return this.pay === pay ? 'pay_type_alipaycheck pay_type_achecked' : 'pay_type_wechatcheck'; } } }, prodouct_select_class() { return function(prodouct) { return this.choose_prodouct_id == prodouct ? 'insurance-select select-hover' : 'insurance-select'; } }, has_level() { if (this.product_type == 1 || this.product_type == 6) { return true; } return false; }, totalPrice() { return (price) => { let outher = this.delivery == 1 ? this.shunfeng : 0; return parseFloat(parseFloat((price * this.number) + (outher * this.number)).toFixed(2)); } } }, created() { this.fetchData(); }, methods: { fetchData() { this.fetchGrades(); this.fetchProduct(); }, reduce() { if (this.number > 1) { this.number --; } }, add() { this.number ++; }, async fetchGrades() { this.grades = await this.getNormal(BASE_URL + 'grades'); }, async fetchProduct() { let url = BASE_URL + 'products'; switch(Number(this.product_type)) { case 1: this.products = await this.getNormal(url, {type: this.product_type, grade: this.level, time: this.time}); break; case 4: this.products = await this.getNormal(url, {type: this.product_type}); break; case 3: this.products = await this.getNormal(url, {type: this.product_type}); break; case 6: this.products = await this.getNormal(url, {type: this.product_type, grade: this.level}); break; } }, async getNormal(url, params = null, method="GET", data=null) { if (params) { let paramsArray = []; Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key])); if (url.search(/\?/) === -1) { url += '?' + paramsArray.join('&'); } else { url += '&' + paramsArray.join('&'); } } return new Promise((resolve, reject) => { $.ajax({ type: method, url: url, dataType: 'json', data: data, success: (response) => { resolve(response) } }) }); }, async choose_level(grade) { this.level = grade; this.clean_choose_product(); await this.fetchProduct(); }, async choose_time(time) { this.time = time; this.clean_choose_product(); await this.fetchProduct(); }, async choose_product_type(type) { this.product_type = type; this.clean_choose_product(); await this.fetchProduct(); }, choose_delivery(delivery) { this.delivery = delivery; }, choose_pay(pay) { this.pay = pay; }, choose_product_func(product) { this.choose_product = { 'id': product.id, 'name': product.name, 'price': product.price, } this.choose_prodouct_id = product.id; }, clean_choose_product() { this.choose_prodouct_id = null; this.choose_product = null; }, async confirm() { if (!this.choose_product) { return this.openTip("请选择产品!", "提示: "); } const numberReg = /^[0-9]*$/ let pay = this.pay === 'wechatpay' ? 'weixin' : 'zhifubaoweixin'; // let formData = new FormData(); let url = BASE_URL + 'production'; let data = { 'userid': USERID, 'value': this.choose_product.id, 'pay': pay, } // formData.append('userid', USERID); // formData.append('value', this.choose_product.id); // formData.append('pay', pay); if (this.product_type == 4) { if (!this.name) { return this.openTip('请填写收货人姓名!'); } if (!this.phone) { return this.openTip('请填写联系电话!'); } if (!this.address) { return this.openTip('请填写收货地址!'); } if (!numberReg.test(this.number)) { return this.openTip('请输入正确的数量!'); } if (this.number < 1) { return this.openTip('购买数量必须大于1!'); } if (this.delivery == null) { return this.openTip('请选择快递类型!'); } data.name = this.name; data.phone = this.phone; data.address = this.address; data.note = this.note; data.number = this.number; data.courier = this.delivery; // formData.append('name', this.name); // formData.append('phone', this.phone); // formData.append('address', this.address); // formData.append('note', this.note); // formData.append('number', this.number); // formData.append('courier', this.delivery); } // 发送POST请求 let response = await this.getNormal(url, {type: 2}, 'POST', data); if (response.code === 'error') { return this.openTip(response.msg) } // 展示二维码 let title = pay === 'weixin' ? '请使用微信扫一扫付款' : '请使用支付宝扫一扫付款' this.openTip('', title); $('#qrcode').html(''); $('#qrcode').qrcode(response.msg); this.order_id = response.order_id; // 设置定时器请求后台接口 this.timer = setInterval(this.order_status, 1000 * 3); }, async order_status() { url = BASE_URL + 'status'; response = await this.getNormal(url, {order_id: this.order_id}); if (response.status == 1) { this.title = '付款成功, 即将跳装到购买记录页面!'; clearInterval(this.timer); setTimeout(function() { window.location.href = '/admin.php/pay/record'; }, 3000); } }, openTip(content='', title='提示') { this.title = title; this.content = content; $('#myModal').modal({ keyboard: false }); }, closeTip() { this.title = ''; this.content = ''; $('#myModal').modal('hide'); clearInterval(this.timer); } } }); </script>
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
MySQL数据库总结
文章目录一、数据库简介二、MySQL数据类型(5.5版本)三、Sql语句(1)Sql语句简介(2)数据定义语言DDLcreate,alter,drop(3)数据操纵语言DMLupdate,insert,delete(4)数据控制语言DCLgrant,revoke(5)数据查询语言DQLselect(6)分组查询与分页查询group by,limit四、完整性约束(单表)五、多表查询六、MySQL数
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
中年危机,35 岁定律,见鬼去吧!
中年危机,35 岁定律,相信你都听说过,每次触及还会让你感到丝丝焦虑,毕竟时间这把杀猪刀不会放过任何一个人。中年危机或 35 岁定律是客观存在的,你迟早都会遭遇的,那你是否有信心战胜它呢? 中年危机之所以让人害怕,一则是你没有把握打赢这场遭遇战,再则中年是一个输不起的阶段。古人云:知己知彼,百战不殆。恐惧,主要源自对敌人和自己的不了解,不知道敌人的优劣势,也不清楚自己的长短板,常常以己之所短攻彼...
程序设计的5个底层逻辑,决定你能走多快
阿里妹导读:肉眼看计算机是由CPU、内存、显示器这些硬件设备组成,但大部分人从事的是软件开发工作。计算机底层原理就是连通硬件和软件的桥梁,理解计算机底层原理才能在程序设计这条路上越走越快,越走越轻松。从操作系统层面去理解高级编程语言的执行过程,会发现好多软件设计都是同一种套路,很多语言特性都依赖于底层机制,今天董鹏为你一一揭秘。 结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺...
张小龙-年薪近3亿的微信之父,他是如何做到的?
张小龙生于湖南邵东魏家桥镇, 家庭主要特点:穷。 不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。 家有兄弟两人, 一个小龙,一个小虎。 小虎好动,与邻里打成一片, 小龙好静,喜好读书。 “文静的像个妹子。”张小龙的表哥如是说。 穷文富武,做个读书郎是个不错的选择。 87年至94年, 华中科技大学本硕连读。 本科就读电信系, 不喜欢上课
阿里靠什么武功秘籍渡过“双十一“的天量冲击
双十一大概会产生多大的数据量呢,可能大家没概念,举个例子央视拍了这么多年电视新闻节目,几十年下来他存了大概80P的数据。而今年双11一天,阿里要处理970P的数据,做为一个IT人,笔者认为今年”双十一“阿里最大的技术看点有有以下两个: 阿里的数据库,也就是刚刚拿下TPC冠军的OcceanBase,处理峰值也达到了骇人听闻的6100万次/秒, 阿里核心系统百分百上云了。 如果把信息系统比做一个武
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
相关热词 c# clr dll c# 如何orm c# 固定大小的字符数组 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目
立即提问