js中Ajax返回的值怎么当函数返回值供别的函数调用?

图片说明
图片说明
如上图代码 我调用时返回的是undefined

5个回答

改为同步,而且你的回调里面返回值没用,并不是你的getTotalIntegral的返回值,还有以后代码,不要发截图。看桌就烦

 function getTotalIntegral(){
//...原来的代码
var rst=false;
$.ajax({
async:false,/////////////同步
success:function(data){
if(data.state==1)rst=data.integral
}
///其他配置
})

return rst;//////
}
showbo
支付宝加好友偷能量挖 回复u010628509: 最多返回false,不可能是undefined,因为初始值就是false,如果是undefined,那么data.integral的属性肯定打错了。
大约 5 年之前 回复
u010628509
皇上-臣妾做不到啊 回复showbo: 这个我可以确保没错,结果就是我说的这种情况。最后没办法只能加载的时候在jsp显示再获取了。
大约 5 年之前 回复
showbo
支付宝加好友偷能量挖 回复u010628509: 不可能是undefined。。最所是false,这个时候是你服务器有问题,没有执行到success或者data.state不等于1.。你自己发的截图,不遭到你的那个integral最后是l还是1
大约 5 年之前 回复
u010628509
皇上-臣妾做不到啊 这个我有试过了也是不行的,不是NaN就是undefined。
大约 5 年之前 回复

你可以把别的函数最为参数传给getTotalIntegral,比如

 function getTotalIntegral(alertAjax){
    //...原来的代码
    $.ajax({
        //...原来的代码       
        success:function(data){
            if(data.state==1){
                alertAjax(data.integral);
            }
        }
    })
}

function alertAjax(data){
    alert(data);
}

你要保存到变量中,然后在外面Uu 一层返回。注意异步的时间点

如果你不想定义一个函数,可以直接使用匿名函数,如

 function getTotalIntegral(alertAjax){
    //...原来的代码
    $.ajax({
        //...原来的代码       
        success:function(data){
            if(data.state==1){
                alertAjax(data.integral);
            }
        }
    })
}

$(function(){
    $('#gameRule').hide();
    getTotalIntegral(function(data){alert(data)});
});

原来关键在于我默认的是异步所以不行。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js跨域调用函数 接收返回值
现在 http://www.demo1.com/demo.jsp 中的js 想调用 http://www.demo2.com/demo2.jsp 页面中的js 函数的返回值 这里的JS的返回值是用AJAX调用本服务器demo2上的页面接收的值 我试过了不少方案 都没办法 头疼了。。 并且 document.domain 也不能用 因为demo1 demo2 都不在一个域之内 我demo1里面的demo.jsp 需要 demo2里面 demo2.jsp 中的js在 demo2的服务器上执行ajax 希望大哥们有经验的给个思路 提醒一下 也行 谢了
关于js匿名函数的返回值的获取问题
我还在读js的基础书籍,所以对一些js原理了解不是全面,所以问题如有愚昧,还请见谅。 ``` function asynSubmit(sData,action,method="POST"){ var httpRequest = new XMLHttpRequest(); var rMessage="请求未发送"; httpRequest.open(method,action); httpRequest.setRequestHeader("content-type","application/x-www-form-urlencoded"); httpRequest.send(sData); httpRequest.onreadystatechange=function(){ if(httpRequest.readyState===4){ console.log("4"); if(httpRequest.status===200){ console.log("200"); var rData=httpRequest.responseText; //JSON.parse(httpRequest.responseText); return rData; }else{ return "服务器异常"; } }else{ return "服务器未响应"; } } } ``` 如上述代码,我想封装一个ajax的函数。想让函数返回responseText的值,因为onredeaychang调用了匿名函数,在匿名函数里返回的值我要怎么在外层函数获取?或者有其他什么方法能达到我的目的?我也试过在外层函数定义变量,在匿名函数里为变量赋值,但由于匿名函数绑定了事件,所以这样做直接返回空值。 自己想了很久,也百度过了,实在想不出解决办法,还请各位不吝赐教。
做ajax请求时callback函数调用时this变量的变化问题
代码大致如下 [code="javascript"] var a = (function(){ var a = function (...,param) { return new a.fn.init (...,param) } a.fn = a.prototype = { init: function (...) { ... this.param = param } callback: function (response) { this.param //这里似乎this发生改变,this.param值为undefined ... } getData: function() { //通过ajax获得数据,然后回调 callback doGetAjax(url,data,this.callback) } } a.fn.init.prototype = a.fn; })() [/code] 像这种地方想要在callback获得param应该怎么做? edit1 -------------------------------------- 想了一下,这里ajax返回调用的时候this已经没有绑定了,在a内找不到再次与this绑定的方法, 那就不使用this,使用函数类的局部全局变量达到私有变量的效果, 代码改变如下 :[code="javascript"] var a = (function(){ var pParam; //添加私有变量 ... init: function (...) { ... pParam=this.param = param } ... callback: function (response) { pParam //这里似乎this发生改变,this.param值为undefined ... } [/code] 想了一下,是否所有对象的属性都应该赋值给 私有变量,而 this.XXX则是要暴露给外界才多加一个赋值? edit 2 ------------------------- 这两天重新看了下,发现这种私有变量是所有实例共享的,一个页面有多个同类组件的话就不行了. 如果是存储一个共享私有变量,每次ajax请求以后都手动立刻将私有变量赋值给相应实例变量,但这样的缺点是多次自动进行ajax操作的话是实现不了的,比如分页ajax请求。 这种情况究竟咋解决.
js多个两层函数中,最里层函数赋值如何传出去
``` window.status =""; function size(file){ var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(theFile) { var image = new Image(); image.src = theFile.target.result; image.onload = function() { alert("图片的宽度为"+this.width+",长度为"+this.height); if(this.width==1072 && this.height==400){ window.status = 'true'; }else{ window.status = 'false'; } } } return window.status; } ``` 在另一个函数中调用该函数,alert到的返回值内容为空...求解怎么办? 如何定义全局变量,如何给变量再赋值呢?
js 一个全局变量,在一个函数中进行赋值,调用另一个函数 ,这个全局变量的值却没有值为undined
``` var typer; function zhe(){ typer = 'spline'; search(); } function search() { var jsonXData = []; var jsonyD = []; $.ajax({ url : base + '/gateBrandCount/statisticsbySpecial.html', data : $('#form').serialize(), success : function(e) { var json = eval("(" + e + ")"); for (var i = 0; i < json.length; i++) { var specialName = json[i].specialName; var count = json[i].count; jsonXData.push(specialName); // 赋值 jsonyD.push(count); } console.log(typer); if(typer==undefined){ console.log(typer+"11111") var op=highchart(jsonXData,jsonyD); op.chart.type='column'; }else{ console.log(typer+"22222") var op=highchart(jsonXData,jsonyD); op.chart.type="'"+typer+"'"; } console.log(op.chart.type+" ty"); chart = new Highcharts.Chart(op); } }) } ``` highchart为一个显示柱状图的函数 返回options 就是那个typer 调用zhe() ,赋值后在search()中就是undefined 求教啊
【新手贴】web前端,js函数问题
我需要得到一个js里的函数执行完后的返回值,然后想java里一样 调用这个函数,用个变量就能接收返回的值 像这样: ``` function ajaxQuery(videoFunid,videoType){ var url ="http://127.0.0.1/api/index"; var videoData=""; $.ajax({ url:url, type: "post", data:{ funid:videoFunid, type:videoType },success: function(data) { videoData = data; }, error:function(xhr, ajaxOptions, thrownError) { alert("错误信息:"+xhr.status); alert(thrownError); } }); return videoData; } ``` 问题来了 var data=ajaxQuery(21,'搞笑'); 我这样调用 得不到返回值videoData... 求大神解答下 拜谢~
ajax请求后台阻塞问题
写了两个AJAX函数,第一个用于导入数据,同时将进度信息写到全局变量中,第二个每隔一秒种获取全局变量的进度信息 但是为何第二个ajax一定要等到第一个结束时才会去执行? 1. 设置过jquery AJAX的async 为te,即异步执行 2. 第二个ajax(获取进度信息的), 就算我随便返回个值(非session)里面的都不会去调用后台方法, 直到第1个执行完成才会进来。 也不是session的问题。。。 那么真的很奇怪啊, 大神速来~~~
难了,有关ajax的执行问题
今天在jsp页面中这样执行了一个js,在这个js中把数据发送给servlet,可是遇到了一个很奇怪的问题: 在jsp页面中的代码是这样的: 1.<a href="javascript:void(0);" onclick="clearResum()">clearResum</a> 但是js中的clearResum()函数不执行,这个函数的主要功能是把数据发送到后台给servelt处理,也就是没有把数据发送给serlvet。 但是如果改成: 2.<a href=“#" onclick="clearResum()">clearResum</a>,则xmlHttpRequest.status的返回值始终是0,我已经把项目成功发布了,所以应该不存在tomcat的配置问题。 3.如果把 1 中的代码换成 <a href="javascript:clearResum()">clearResum</a>,这个js也始终不执行,而把clearResum()函数换成一个简单的test()函数( 这个函数只有一条alert("") )就可以执行。 4.在 1 中,如果把<a href=“#" onclick="clearResum()">clearResum</a>中的onclick="clearResum()"中的clearResum()函数换成一个简单的test()函数( 这个函数只有一条alert("") )就可以执行。 问题:被搞的很糊涂,非常不理解上述四点描述的问题,特别是第 1 点和第 3点,clearResum()为什么始终不执行,而第 4 点执行后得到的xmlHttpRequest.status的值始终是0?希望哪位兄弟帮忙解答一下,本人感激不尽,先谢谢了!! [b]问题补充:[/b] 谢谢 ham: clearResum() { send("clearResum?p=1"); } send()的方法体主要是建立xmlHttpRequest对象并发送数据和调用handleResponse方法处理服务器的返回信息。 还有,您能不能解释下<a href=" " onclick=" ">中href 和onclick执行js的区别,谢谢关注! [b]问题补充:[/b] 嗯,好,谢谢 ham 的解释,回头我再仔细检查和测试下function send()部分.
为啥接受不到数据AJAX
``` <script src ="Js/jquery-3.4.1.js"> </script> <script> ////定义变量保存XmlHttpRequest对象 //var xmlHttp = null; ////用于创建AJAX请求核心对象XmlHttpRequest //function createXmlHttpRequest() { // try // { // xmlHttp = new XMLHttpRequest();//适用于IE7+,Fireiox,Chrome等主流浏览器 // } // catch (Error) // { // xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//适用于IE低版本7以下的 // } //} //$(function () { // $("#ImgButOn").click(function () { // //调用函数创建XmlHttpRequest对象 // createXmlHttpRequest(); // //获得需要提交给服务器的数据 // var UserId = $("#TxtUser").val(); // var UserPwd = $("#TxtPwd").val(); // //服务端路劲,同时把数据传送到服务器地址拦 // var serverPath = "server.ashx?UserId=" + UserId + "&UserPwd=" + UserPwd + ""; // //设置XmlHttpRequest对象参数 // xmlHttp.open("get", serverPath, true); // //服务端处理结果,使用XmlHttpRequest对象状态监测 // xmlHttp.onreadystatechange = clicentCallback; // //通过XmlHttpRequest对象发送请求 // xmlHttp.send(); // }) //}) //function clicentCallback() { // //XmlHttpRequest对象状态从开始发送请求到服务端经历了4个分别是: // //返回值 0 :请求位初始化 // //返回值 1 :和服务端连接已经建立 // //返回值 2 : 请求已被服务端接受 // //返回值 3 :请求处理中 // //返回值 4 :请求处理完 // if (xmlHttp.readyState == 4) { // if (xmlHttp.status == 200) { // //获得服务端返回给客户端的结果(纯文本,xml,josn,html) // var msg = xmlHttp.responseText; // alert(msg); // } // } //} //#Jquery封装函数使用AJAX异步请求 $(function () { $("#ImgButOn").click(function () { $.ajax({ url:"server.ashx",//请求服务端地址 type:"get",//请求方式 data:{ "UserId": $("#TxtUser").val(), "UserPwd":$("#TxtPwd").val() }//发送到服务端的数据 success:function (date, status, xmlhttp) {//服务端成功处理时回调函数 alert(date + ":" + status); }, error: function () {//服务端失败时的回调函数 alert("请求未成功!"); }, dataType:"text"//预期服务端发回数据类型 }) }) </script> public void ProcessRequest(HttpContext context) { SES_Model.User user = new SES_Model.User(); //服务端要获得客户端以AJAX请求发送过来的数据 string UserId = context.Request.QueryString["UserId"]; string UserPwd = context.Request.QueryString["UserPwd"]; //在服务器中处理数据 user = SES_BLL.Users_Service.User_Enter(UserId, UserPwd); string msg = string.Empty; if (user != null) { msg = "ok"; } else { msg = "error!"; } context.Response.ContentType = "text/plain"; context.Response.Write(null); } ```
ssm 框架已经实现,但是ajax返回验证有毛病
``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>js+ajax</title> <script type="text/javascript" src="static/bootstrap/js/jquery-2.0.3.js"></script> <script type="text/javascript"> function validate(){ var name= $("#name").val(); if(name==null||name==""){ //为空隐藏提交按钮 var ui =document.getElementById("tijiao"); ui.style.display="none"; //这里是简单的显示 不设计后台,前台做的判断 $("#namediv").html("用户名不可以为空"); }else{ //ajax实现 //11111111获取XMLhtmlRequestxml对象 var req=createXmlHttpRequest(); //222222222准备url 数据 回调函数 //这个name是function下面var的参数. var url="/maven/reg1.do?name="+name; //还有一个参数表示的是异步还是同步,一般不写直接就是true,异步的 req.open("GET",url,true); //3333333333这个就是回调函数 req.onreadystatechange=callback; //这个send是在从servlet判断你的账号是不是存在, 如果是true就说名字存在,给页面返回了以后才有的.为啥写空不知道 //4发送请求 req.send(null); //回调函数 function callback(){ //第一个是我们的服务器成功接受了响应,并且解释了出来,状态4 第二个是服务器内部没有发生错误, url什么的也没有错, if(req.readyState=4&&req.status==200){ var date=req.responseText; if(date=="false"){ //下面的是意思是,如果账号存在了,提交按钮自动消失 //超级叼 var ui =document.getElementById("tijiao"); ui.style.display="none"; $("#namediv").html("用户名已经存在"); }else{ //不为空了,按钮一直显示 var ui =document.getElementById("tijiao"); ui.style.display=""; $("#namediv").html("用户名可以使用"); } } } } } function createXmlHttpRequest(){ //如果是ie6以上版本的浏览器 if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ //如果浏览器是ie以下的 return new ActiveXObject("Microsoft.XMLHTTP"); } } </script> </head> <body> <form action="/maven/reg1.do" id="form1"> <table id="aa"> <tr> <td>用户名</td> <td><input type="text" name="username" id="name" onblur="validate();" />&nbsp;<font color="red">*</font></td> <td> <div id="namediv" style="display: inline"></div> </td> <td>密码</td> <td><input type="password" name="password"></td> <td>电话</td> <td><input type="text" name="phone"></td> <td><input type="submit" value="点击注册" id="tijiao"></td> </tr> </table> </form> </body> </html> ``` ``` ``` ``` package com.gray.user.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.gray.user.entity.RegUser; import com.gray.user.service.impl.RegServiceImpl; import com.gray.user.service.impl.UserServiceImpl; @Controller public class RegController { @Autowired private RegServiceImpl userService; //自动装载他到spring @RequestMapping("/reg1.do") //url public String dologin(Model model,HttpServletResponse res,@RequestParam String username,RegUser rg,HttpServletResponse response) throws IOException{ boolean used=false; System.out.println("测试参数获取到bean没有"+rg.getUsername()+rg.getPassword()+rg.getPhone()); rg.setUsername(username); if(userService.doUserLogin(rg)){ used=true; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是ture,就是说账号不重复"); }else{ used=false; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是false,重复了账号 "); } return "regsuccess"; } } ``` ``` package com.gray.user.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.gray.user.dao.UserDao; import com.gray.user.entity.RegUser; import com.gray.user.entity.User; import com.gray.user.service.RegService; import com.gray.user.service.UserService; @Service public class RegServiceImpl implements RegService { @Autowired private UserDao<RegUser> dao; @Override public boolean doUserLogin(RegUser ruser) { //第一次执行查询数据库,查询 userdao selectUserName方法。 他这个方法和user.xml里面的id为selectUserName串联了. //也就是直接调用查询语句,并且吧值返回给reguser 类 System.out.println("testRegServiceImpl------->查询数据库,查询语句为id是selectusername"); List<RegUser> list = dao.selectUserName(ruser.getUsername()); System.out.println("查到了集合大小是"+list.size()+"查到了和你账号相同是的是几个"); if(list.size() == 0){ System.out.println("RegServiceImpl---你没有查询到你账号和数据库相同的信息.所以你return,"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i).getUsername()); } return true; }else{ if(list.size()!=0){ System.out.println("regServiceImpl---查询到和你相同的账号不是0个,返回false"); return false; }else{ System.out.println("regserviceImpl----其他情况我也不知道啥情况,也返回false"); return false; } } } } ``` ``` 页面上的ajax 他就一直出毛病,数据库有个账号名是aa 只有我在表单填写aa 他才在网页提示账号重复, 别的任何都不提示,只会提示不能为空, 而且还失灵时不灵。 但是用system. 输出 我写的任何判断都是对了, 这是为啥? 请求大神给我说下,最好说下哪里错了。谢谢了
.net后台逐行动态输出html标签
本人打算做一个类似于软件安装时的动态效果,想让后台函数在运行过程中,不断的向前台写数据来表明当前软件的运行状态,但是总是所有后台代码运行完毕之后统一出现在前台,后来使用ajax方法,但还是实现不了,求高手帮忙! 前台JS代码 <script language="javascript" type="text/javascript"> function CompareInfo(InfoId) { jQuery.ajax( { url: 'CompareInfo.aspx?InfoId=' + InfoId, dataType: 'text', success: function (data, textStatus) { $("#Compare").html(data); } }); } </script> 后台代码: public void Com() { ScriptManager.RegisterStartupScript(this, this.GetType(), "JSFunction", "CompareInfo('1');", true); 调用其它函数() ScriptManager.RegisterStartupScript(this, this.GetType(), "JSFunction", "CompareInfo('2');", true); 调用其它函数()... } ajax调用的页面代码: private void Info(int InfoId) { if (InfoId == 1) { Response.Write("<div><span class='STYLE10'>比对开始...比对进行过程中请勿关闭本页面!</span></div>"); } if (InfoId == 2) { Response.Write("<span class='STYLE10'>正在检测当前模板启用状态...</span>"); } } 现在的运行效果是等到后台函数完整运行之后,才调用一次AJAX返回InfoId=1时的值。。 想要实现逐行显示的功能,望高手帮忙!
菜鸟新学Ajax,为什么加载不出PHP文档
4-1.html如下: ``` <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>使用Ajax技术载入文档</title> </head> <body> <script type="text/javascript"> function Ajax(){ //定义一个函数来异步获取信息 var xmlHttpReq; xmlHttpReq = new XMLHttpRequest(); //实例化一个XMLHttpRequest对象 if (xmlHttpReq != null){ //如果对象实例化成功 xmlHttpReq.open("get","4-1.php"); //设置异步请求的方式和请求的URL xmlHttpReq.send(null); //用send方法发送请求 xmlHttpReq.onreadystatechange = RequestCallBack;}//设置回调函数 function RequestCallBack(){ //一旦readyState值改变,将调用这个函数 if(xmlHttpReq.readyState == 4 && xmlHttpReq.status==200){ //如果浏览器处理完毕并且没有出错 document.getElementById("target").innerHTML = xmlHttpReq.responseText;}//将服务器返回的内容载入到#target元素中 }} </script> <input type="button" value="Ajax载入" onclick="Ajax();"/> <div id="target"></div> </body> </html> ``` 4-1.php代码如下: ``` <?php echo '<b>Hello Ajax!</b>'.date("Y年m月d日"); ?> ``` 点击按钮后出来的效果是 Hello Ajax!'.date("Y年m月d日"); ?> 理想效果应该是加载出具体的年月日 Hello Ajax!2015年10月25日
Action返回给Ajax,ajax接收值的问题
//根据IE的类型创建一个XmlHttpRequest对象 function createXmlHttpRequest(){ if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { return new XMLHttpRequest; } } var xmlHttpRequest; //根据用户名称发送请求到服务器 function requestServer(){ var userName=document.getElementById("uname").value; if ( userName== ""){ alert("请输入用户!"); document.getElementById("uname").focus(); return; } var userPassword=document.getElementById("upassword").value; if ( userPassword== ""){ alert("请输入密码!"); document.getElementById("upassword").focus(); return; } var securityCode=document.getElementById("validateNum").value; if ( securityCode== ""){ alert("请输入验证码!"); document.getElementById("validateNum").focus(); return; } var cookieData=document.login.cookieData.checked; delCookie("cookieName"); delCookie("cookiePassword"); delCookie("cookieData"); if(cookieData==true){ saveCookie("cookieName",userName); saveCookie("cookiePassword",userPassword); saveCookie("cookieData",cookieData); } var account=document.getElementById("uname").value; if(account!=null) { var url="userAction.do?action=checkValidName&account="+account; //创建XMLHttpRequest组件 xmlHttpRequest=createXmlHttpRequest(); //设置回调函数,让其等待服务器的响应 xmlHttpRequest.onreadystatechange=doSubmit; //初始化xmlHttpRequest组件,传入URL xmlHttpRequest.open("GET",url,true); //发送请求 xmlHttpRequest.send(null); } } //登录,获得服务器返回的信息并做出相应提示 function doSubmit(){ if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){ var text=xmlHttpRequest.responseText; alert(text); if(text=="1"){ alert("此用户名不存在!"); document.getElementById("uname").focus(); return; }else if(text=="2"){ alert("验证码错误"); document.getElementById("validateNum").focus(); return; }else if(text=="0"){ submitForm(login); } } } Action调用下面这个JAVA类 Java类代码 * 判断用户名和验证码是否正确 */ public int checkValidName(){ System.out.println("我进来checkValidName了"); String account = ServletActionContext.getRequest().getParameter("account"); System.out.println(account); //判断用户名是否存在 int a = this.privilegeService.ValidName(account); if(a==1) { this.setMessage("用户名不存在!"); return 1; }else{ //判断验证码是否正确 String validateNum = this.getValidateNum(); String result = ServletActionContext.getRequest().getSession().getAttribute("ValidateNum").toString(); if(validateNum == null ||result == null || validateNum.trim().equals("")||!result.equalsIgnoreCase(validateNum)){ this.setMessage("验证码输入错误登录失败!"); return 2; } } return 0; } var text=xmlHttpRequest.responseText; alert(text);为什么text打印出来是下面图片信息啊 为什么我得到的text不是我Action返回的值?我要怎么才能得到Action return的值。
JQUERY 的显示与隐藏
$("#indicator").slideToggle("slow"); $.getJSON() $("#indicator").slideToggle("slow"); 如上代码所示、WEB中有一文本框、在它的ONCHANGE事件中调用以上过程、 先显示一动画、调AJAX、有返回值后隐藏动画 现在的问题是第一次调用时会显示、隐藏 后来就再也不显示了 而如果在一个函数中放一句$("#indicator").slideToggle("slow"); 调用一次函数动画会显示 再调用一次函数动画会隐藏 没有问题 也就是是说$("#indicator").slideToggle("slow");如果放在同一函数中就出问题了? 不知为何? 先感谢了
asp.net做微信端的开发调用扫一扫接口扫出的字符串如何传到后端进行解密
asp.net做微信端的开发,调用扫一扫接口扫除的字符串如何传到后端的解密函数进行解密,再将结果返回到前端 前端代码: wx.ready(function () { wx.scanQRCode({ needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 if (typeof (result) != "undefined") { alert("扫码成功!");// 扫描后的值 result = res.resultStr $.ajax({ type: "POST", cache: false, url: "qzsm.aspx/getPrintData", //页面名/要调用的后台方法名 data: {'weixin':result}, //json格式的字符串将参数传入后台,参数名必须一致 contentType: "application/json;charset=utf-8", dataType: "json", success: function (result) { if (result.d[0] == "0") { alert("扫码失败!"); } else { getDoc(result.d[1]); } }, error: function (err) { alert("获取打印数据失败!"); } }); } } }); }); wx.error(function (res) { // config信息验证失败执行的函数 }); } 后端接收参数的函数 public static List<String> getPrintData(String weixin) { string sData = ""; sData = DeCode(weixin); List<String> str = new List<String>(); if (sData == "") { str.Add("0"); } else { str.Add("1"); str.Add(sData); } return str; } //后端解密函数 private static string DeCode(string strSrc) { }
java微信公众号 js调用微信支付报错 errMsg:chooseWXPay:fail
奖励有点少,实在是没有c币了。 下面是我的js,不清楚到底是什么原因导致的,各位大神帮忙给解决下吧;具体报错:config签名啥的是OK的,但是在调用chooseWXPay的时候,就失败了 报错errMsg:chooseWXPay:fail 没有别的提示信息,不清楚失败原因 $('#pay_sub_btn').on(touchType, function(){ var _this = $(this); var payType = $('#pay_type').val(); var orderId = $('#J_payOrder_id').val(); var orderSn = $('#J_payOrder_sn').val(); var payFee = $('#J_payOrder_card_no').val(); var fieldLabel = $('#fieldLabel').val(); var date = $('#date').val(); var orderTimes = $('#orderTimes').val(); var gymName = $('#gymName').val(); var path = $('#basePath').val(); hideError(); lock = true; _this.text('支付中...'); if(payType == 13){ //支付宝支付 }else{ $.ajax({ url:path+"/orders/OrdersPayForWx.do?orderId="+orderId }).done(function(data){ var obj = eval('(' + data + ')'); if(parseInt(obj.agent)<5 && obj.agent != "false"){ alert("您的微信版本低于5.0无法使用微信支付,请升级之后再操作!~"); return; }else if(obj.agent == "false"){ alert("请使用微信浏览器操作!~"); return; } if(obj.code == "0"){ alert("登陆已经过期,请重新登录!~"); window.location.href = path+'/login.jsp'; } wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: obj.appId, // 必填,公众号的唯一标识 timestamp: obj.contime, // 必填,生成签名的时间戳 nonceStr: obj.constr, // 必填,生成签名的随机串 signature: obj.consign,// 必填,签名,见附录1 jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ wx.chooseWXPay({ "timestamp": obj.paytime, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 "nonceStr": obj.paystr, // 支付签名随机串,不长于 32 位 "package": obj.paypack, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) "signType": obj.paysigntype, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' "paySign": obj.paysign, // 支付签名 success: function (res) { // 支付成功后的回调函数 alert(res.err_msg); _this.text('支付'); if(res.err_msg == "get_brand_wcpay_request:ok" ) { _this.text('支付'); // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 window.location.href = path + '/orders/GetOrders.do?page=1&pageSize=10&orderStatus=0'; }else{ alert(res.errMsg); alert(res.err_msg); _this.text('支付'); return false; } } }); }); wx.error(function(res){ alert(res.err_msg); _this.text('支付'); return false; }); }); } });
异步通过JS调用渲染页面,不知道哪里出错
![图片说明](https://img-ask.csdn.net/upload/201704/06/1491443927_637553.jpg) ![图片说明](https://img-ask.csdn.net/upload/201704/06/1491443939_356256.jpg) ``` (attendance.moduleId).off('click').on('click', o.renderTpl.renderOnObj, o, function(event, state) { renderTplUrl = { url: iyyI + "root/iroot/attendance/signInList", params: null, type: null }, renderTpl_ = { renderObj: "#attendanceHomeArticle #attendanceModualTab #moduleSignIn", renderOnObj: "", renderHtml: iyyIV + "/modules/iroot/attendance/html/attendanceHome.html" }; moduleDeferred = icmInit.renderTpl({ 'renderTplUrl': null, 'renderTpl': renderTpl, 'deferred': $.Deferred() }); moduleDeferred.done(function(XMLHttpRequest) {// 当 上面的事件完成后就执行下面的函数 signInMap = XMLHttpRequest.signInMap; //XMLHttpRequest 是上面(signInList) AJAX返回过来的值 if (!signInMap && !signInMap.iyyId){ // key 是 signInList value是XMLHttpRequest.signInList moduleField = 'signInMap'; //后台拿出数据 if (moduleField != null){ alert("已经签到!"); }else{ alert("签到完毕!"); } } } } ```
DWR调用带参数的java方法调试不通
DWR调用带参数的java方法调试不通,代码如下,求帮忙。 ![图片说明](https://img-ask.csdn.net/upload/201510/07/1444224717_677379.png) ///dwr.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd"> <dwr> <allow> <!-- new意味着DWR应当调用类的默认构造函数 --> <create creator="new" javascript="CASCO" scope="application"> <!-- --> <param name="class" value="com.test.ajax.TestDwr"/> </create> <create creator="new" javascript="TEST" scope="application"> <!-- --> <param name="class" value="com.test.ajax.test"/> <include method="Test"/> </create> </allow> </dwr> ///JSP页面 <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>DWR - Test Home</title> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/interface/CASCO.js'></script> <script language="javascript"> function callTest(){ TEST.Test(callBackForTest); } function callBackTest(data){ //其中date接收方法的返回值 //可以在这里对返回值进行处理和显示等等 alert("the return value is " + data); } </script> <script type="text/javascript"> function download() { window.location.href = "pad_les.apk"; } </script> </head> <body> <h1>向服务器发送信息</h1> <input type="text" id="demo1"> <input type="button" value="提交" onclick="javascript:callTest"> </body> </html> ///class package com.test.ajax; public class test { public test(String a) { System.out.println(a); } }
jquery <s:iterator>中的数据修改
本人最近在做一个读卡报道功能,进入页面时在页面中用<s:iterator>显示了班级所有学生的学号、姓名、报道情况等三个信息项。 jsp页面迭代list集合的代码: <s:iterator value="trainCheckinList" status="st"> <tr> <td height="35" align="center" <s:if test="#st.isEven() == true"> class="list_info" </s:if>> <!-- 学号 --> <s:property value="studentno"/> </td> <td height="35" align="center" <s:if test="#st.isEven() == true"> class="list_info" </s:if>> <!-- 姓名 --> <s:property value="fullname"/> </td> <td align="center" <s:if test="#st.isEven() == true"> class="list_info" </s:if>> <!-- 报到情况 --> <s:if test="%{checkin==0}"><span style="color:blue">未报到</span></s:if> <s:if test="%{checkin==1}">已报到</s:if> </td> </tr> </s:iterator> 页面中有个“读卡报道”按钮,点击这个按钮就可以读取到卡里的信息,然后会调用$.ajax({});函数进入后台系统代码,读卡报道成功后会返回该学生的学号,然后我想在$.ajax({});函数返回学号时将页面中该学生的“报道情况”这个信息项的信息由原来的0改为1【0代表未报道,1代表已报道】,即在$.ajax({});函数的success:function(jion){}函数参数里面修改值。 一开始是想在$.ajax({});返回成功时,在success:function(jion){}函数里面使用$.find();读取页面中trainCheckinList的所有信息,然后逐个比较,学号相同的就修改,代码如下: checkinObject = $.find("[name^='trainCheckinList'][name$='studentno']"); $.each(checkinObject,function(n,value){ }); 但在$.each()里面不知道该如何设置checkin的值,特想各位大神求解
推荐 130 个令你眼前一亮的网站,总有一个用得着
总结了大学生活两年来,发现的 130 余个黑科技网站,总有一个会让你眼前一亮,赶紧收藏!
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Flutter 会不会被苹果限制其发展?
这个可能性是存在的,而且不止是 flutter、react-native 、weex 、uni-app 、taro 、Hippy等都存在这个风险,虽然有些框架对比起 flutter 其他框架存在时间稍长,但是这不可否认它们一直都存在这个风向。 只要不是平台自己的亲儿子,那么肯定存在被限制发展的风险,所以这件事上是风险和收益之间的博弈,这是一个“后妈和前任之间的太极。” 先说现状 如今各大平台,如:...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
Linux必懂知识大总结(补)
关机 1. 数据同步写入磁盘 sync 为了加快对磁盘上文件的读写速度,位于内存中的文件数据不会立即同步到磁盘上,因此关机之前需要先进行 sync 同步操作。 2. shutdown # /sbin/shutdown [-krhc] [时间] [警告讯息] -k : 不会关机,只是发送警告讯息,通知所有在线的用户 -r : 将系统的服务停掉后就重新启动 -h : 将系统的服务停掉后就...
立即提问