精华内容
下载资源
问答
  • 服务器端函数 function order_kb(){ $expressodd[0]['odd']='560860393435'; $expressoddjson = json_encode($expressodd); return $expressoddjson;...为什么得不到返回值?打印出来是空白的页面
  • 直接代码吧,想说了。。。。绝望 这是我的页面form表单![图片说明](https://img-ask.csdn.net/upload/201807/13/1531466865_336177.png) 这是后台对应的方法![图片说明]...
  • 一、有时候undefined不一定就是undefined的 二、解决微信小程序每次request请求,Cookie不一样 三、request 获取不到返回值

    一、有时候undefined不一定就是undefined

    今天,菜鸟在进行微信小程序页面跳转时,进行了传递参数,而页面传递参数的时候,像数字、字符串之类的可以直接传递,对象和数组需要用JSON.stringify()转成字符串再进行传递。然后在跳转页面的onLoad函数中用JSON.parse()转成原型再使用

    但是当后台返回为 或者 undefined 的时候,这时候传递过去的就是undefined
    在这里插入图片描述
    在这里插入图片描述
    这个时候 JSON.parse() 就会报错:
    在这里插入图片描述
    在这里插入图片描述
    这个时候一般都是会先判断一下,是否为undefined然后确定是否 JSON.parse() ,这里就到了很坑的时候了,如果你直接这样写:

    onLoad: function (options) {
        console.log(options.informList); //undefined
        if(options.informList !== undefined ){
          console.log(222);
          var test = JSON.parse(options.informList);
          console.log(test);
          this.setData({
            testlist: test,
            num:test.length
          })
          console.log(this.data.num);
        }else{
          console.log(111);
          this.setData({
            num:0
          })
        }
      },
    

    这样运行的结果会非常的匪夷所思,这时候打印一下 options.informList 的类型就恍然大悟了,原来传递过来的时候被转换为String类型了,所以这里的undefined就不是undefined了

    解决办法:

    onLoad: function (options) {
        console.log(options.informList);
        console.log(typeof(options.informList));
        if(options.informList !== "undefined" ){
          console.log(222)
          var test = JSON.parse(options.informList);
          console.log(test);
          this.setData({
            testlist: test,
            num:test.length
          })
          console.log(this.data.num);
        }else{
          this.setData({
            num:0
          })
        }
      },
    

    二、解决微信小程序每次request请求,Cookie不一样

    这次做微信小程序,发现和后台建立连接,每次都会新建一个连接,这样就无法在同一个连接上进行操作,那么后台中的数据,后台就无法通过缓存进行传输,所以必须得解决这个问题。

    解决办法:

    //保存cookies,解决request每次请求连接不一样的bug
    const phpsessidarr = result.cookies[0].split(";"); //这里result是后台第一返回的,可以从中获取到cookies
    const phpsessid = phpsessidarr[0];
    const header = {'content-type': 'application/json', 'Cookie': phpsessid};
    wx.request({
          url: common_urlapi+url,
          data:{},
          header: header,
          method:"POST",
          success:res=>{},
          fail:err=>{}
    )}
    

    其它更多参数设置:

    Header:请求头参数详解

    三、request 获取不到返回值

    有时候直接调用 request ,然后直接令变量等于 success 里面的返回值,但是发现根本获取不到

    function request_urlapi_fun(url,token,date,obj){
      const app = getApp();
      const common_urlapi = app.globalData.urlapi;
      const cookies=wx.getStorageSync('cookies');
      const objString = JSON.stringify(obj);
      const phpsessidarr = cookies.split(";");
      const phpsessid = phpsessidarr[0];
      console.log(phpsessid);
      const header = {'content-type': 'application/json', 'Cookie': wx.getStorageSync('phpsessid')};
      const token2 = md5.md5(token+objString);
    
        wx.request({
          url: common_urlapi+url,
          data:{
            token:token2,
            time:parseInt(date),
            ac_id:obj.ac_id,
          },
          header: header,
          method:"POST",
          success:res=> {
            console.log(res);
            console.log(res.data);
            return res
          },
          
          fail:err=>{
            console.log(err);
            wx.showModal({
              title: '提示',
              content: '服务器错误',
            });
          }
      })
    }
    

    结果发现外面根本无法获取到

    let a = request_urlapi_fun.request_urlapi_fun("Academy/notice",token,date,obj);
    console.log(a);
    

    运行结果:
    在这里插入图片描述
    大家会发现,代码是先打印a,再执行的 request_urlapi_fun ,所以导致根本无法获取值,菜鸟感觉是request是异步请求的原因

    解决办法也很简单,就是将异步变为同步就好了

    function request_urlapi_fun(url,token,date,obj){
      const app = getApp();
      const common_urlapi = app.globalData.urlapi;
      const cookies=wx.getStorageSync('cookies');
      const objString = JSON.stringify(obj);
      const phpsessidarr = cookies.split(";");
      const phpsessid = phpsessidarr[0];
      console.log(phpsessid);
      const header = {'content-type': 'application/json', 'Cookie': wx.getStorageSync('phpsessid')};
      const token2 = md5.md5(token+objString);
    
      return new Promise((resolve ,reject)=>{
        wx.request({
          url: common_urlapi+url,
          data:{
            token:token2,
            time:parseInt(date),
            ac_id:obj.ac_id,
          },
          header: header,
          method:"POST",
          success:res=> {
            console.log(res);
            console.log(res.data);
            console.log(token);
            wx.setStorageSync('pbw_token', res.data.datas.token);
            delete res.data.datas.token;
            console.log(wx.getStorageSync('pbw_token'));
            let mdtoken = md5.md5(token+JSON.stringify(res.data.datas));
            console.log(mdtoken);
            if(mdtoken === wx.getStorageSync('pbw_token')){
              resolve(res);
            }else{
              wx.showModal({
                title: '提示',
                content: '数据被篡改',
              });
            }
          },
          fail:err=>{
            reject(err);
            console.log(err);
            wx.showModal({
              title: '提示',
              content: '服务器错误',
            });
          }
        })
      })
    }
    

    然后返回的的值是promise类型,所以要调用其结果,应该这样:

    a.then(res=>{
          console.log(res);
          this.setData({
            'informList[0].num':res.data.datas.schoolinform.length,
            'informList[1].num':res.data.datas.academyinform.length,
            schoolinform:res.data.datas.schoolinform,
            academyinform:res.data.datas.academyinform,
          })
        }).catch(err=>{
          console.log(err);
        })
    
    展开全文
  • Ajax 后台正确执行 但在前台获取不到返回值 但打断点就可以

    我这边使用ajax 进行一个登陆按钮  后台代码正确执行但是在前台获取不到返回值

    在这里是这样的 $.ajax 里面有这个参数 async 布尔值,表示请求是否异步处理。默认是 true。 

    默认是异步处理,所以 还没有等到你的返回值就直接跳过处理线面的方法

    如果增加了 async:false 那么就不是异步处理 会等你的返回值 这样代码就可以正确执行了

    $.ajax({
              type: "POST",
              url: "/offical/login",
              data: JSON.stringify(data), //必须是字符串
              async:false, //不是异步处理
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              processData:false,
              success:function(res){
                if (res.rtnCode == 0) {
               	//登陆成功
                } else {
                  alert(res.msg);
                }
              },
              error:function(result){
                alert(result.responseJSON.msg);
              }
            });
          }

    我只在这篇文章找到的答案  http://blog.csdn.net/maomiaomiao/article/details/42738783

    展开全文
  • 在做RN分业务模块分包加载的时候,在子业务模块调用原生代码获取返回值发现调用原生的方法可以,但是一直回调RN的代码返回值给RN页面,后面发现原来在子业务模块是可以有返回值的,切换主bundle文件里面调用...

    在做RN分业务模块分包加载的时候,在子业务模块调用原生代码获取返回值发现调用原生的方法可以,但是一直不回调RN的代码返回值给RN页面,后面发现原来在子业务模块是不可以有返回值的,切换到主bundle文件里面调用一切正常。

    展开全文
  • showModalDialog的返回值在IE、火狐下面都能够获取返回值,但是在谷歌浏览器下面会返回Null,下面介绍解决方法 父页面:   function openwindows(){ var obj = new Object(); //打开模态子窗体,并获取...

     

    showModalDialog的返回值在IE、火狐下面都能够获取返回值,但是在谷歌浏览器下面会返回Null,下面介绍解决方法

    父页面:

     

     
    function openwindows(){ 
    var obj = new Object(); 
    
    //打开模态子窗体,并获取返回值 
    var retval = window.showModalDialog("ordervideo.jsp?rderIds="+"0010,0020,0030",obj,"dialogWidth=500px;dialogHeight=500px"); 
    
    //for chrome 
    if(retval == undefined) { 
    retval = window.returnValue; 
    } 
    alert(retval); 
    }  


     

    子页面:

     

    function onload(){ 
    
    //for chrome 
    if(window.opener != undefined) { //window.opener的值在谷歌浏览器下面不为空,在IE/火狐下面是未定义,由此判断是否是谷歌浏览器 
    window.opener.returnValue = flag; //谷歌浏览器下给返回值赋值的方法window.opener.close(); //这里必须关闭一次,否则执行下面的window.close()无法关闭弹出窗口,因为谷歌浏览器下弹出窗口是个新的window  
    }
    
    else { 
    window.returnValue=flag; //这种赋值方法兼容IE/火狐,但不支持谷歌浏览器 
    } 
    window.close(); 
    
    }  
    


     

    文章转载自:       showModalDialog在谷歌浏览器下获取不到返回值         http://www.studyofnet.com/news/230.html

     

    展开全文
  • 在使用POST方式时,从A域向B提交表单,使用jsonp方式无法将结果返回给A域的主页面。只能使用script引用方式,...FORM的action为B域的目标页面,target为iframe.B域的目标页面返回值作为参为再重定向A域的接收页面
  • 内容页: var url = "SelectContractNo1.aspx?PersonId=" + ticks; var aim=window.showModalDialog(url) 返回值页面: setTimeout(function(){window.returnValue='" + aaa + "';...aim 能获得返回值
  • } 完事后反复尝试ajax就是获取不到controller返回值。而且发现每次在提交的时候会发现所有输入框中数字全部清空了,说明页面重新刷新了。 后来问前端同事,需要把submit改成button。因为真正导致页面刷新的是这个...
  • 在使用子组件调用父组件方法:this.$emit(方法名, 参数1, 参数2),该方法的返回值是vue对象,而不是父组件方法的return值。此时要用回调函数作为参数,父组件里执行该回调函数,返回值后给子组件,然后子组件再接收...
  • 使用Ajax接收不到返回值???

    千次阅读 多人点赞 2019-09-19 17:53:23
    flask+layui使用Ajax请求数据不能返回数据(使用Ajax接收不到返回值) 在做一个flask的小项目时页面需要用button按钮请求后台返回数据,于是顺理成章的想到了用layui自带jquery的ajax请求,button代码如下: <...
  • 把方法名命名为getXXX,如果getFindAllBook,注意命名规范哦,然后在JSP页面用取得该类的对象,比如:,再用从该对象中取得返回值,比如:,这里的property写的应该是findAllBook,而不是getFindAllBook,其实就和写...
  • 问题:使用$.ajax更新动态更新dropDownList显示内容时,接收页面不到返回值。无法执行success后代码。 js代码: function set() { var postData = { keyword : $("#keyword").val(), ...
  • string param = "UName="+txtUserName.Text+... //在这里对接收页面内容进行处理  StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.UTF8);  string a = sr.ReadToEnd();  }
  • MUI如何实现返回页面不刷新,并获取上一个页面返回值  MUI中经常需要用到从当前页面返回上一个页面,且刷新上一个页面。   实现思路: 1.上一个页面通过MUI的方式跳转当前页面 2.当前页面设置设置mui...
  • ajax并未获取到后台的返回值

    千次阅读 2018-11-22 09:57:32
    开始查登录的代码,登录是用ajax登录的,controller中的登录方法确实输出了返回值,那么也就是说页面并没有获取到返回值,看了一下ajax代码 $.ajax({ type: "POST", url: _p...
  • 问题描述:我写的是使用ajax对数据的删除,数据可以正常删除但是Ajax的success却接收不到controller类删除方法的返回值。却一直执行Ajax的error。 下面是jsp页面的ajax的使用↓ 下面是controller类里面...
  • nginx 取不到返回值的分析过程

    千次阅读 2016-02-26 14:45:01
    由nginx负载遇到一个取不到返回值的问题:  第一步先put,状态码:200 "PUT /api/execut  第二步get返回值,状态码:500 "GET /api/preview?  我尝试过解决办法:  1.试不同的配置方法  1.1 配置...
  • public void onPageFinished(WebView view, String url) {//当页面加载完成 super.onPageFinished(view, url); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){//当Android SDK>=4.4时 ...
  • 实现 html 中提交表单并实现跳转页面处理返回值 jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简单、容易,且能完整控制提交过程和处理结果,需要任何特殊标签辅助...
  • window.open用法——获取子窗口返回值

    千次阅读 2016-07-20 17:32:23
    本想用window.showModalDialog() 这个方法来获取子窗口的返回值,可是谷歌、QQ等浏览器似乎已支持,通过参考了一些博客,似乎说新版的谷歌已废除了该用法。 父窗口:window.open("user.do", "&...
  • 页面用window.showModalDialog的时候,如果直接打开其它系统...页面是取不到返回值的,原因就是因为跨域了. 解决办法如下: 1,首先主页面testMain.jsp先打开一个中转页面, Java代码 html> head> head> body> i
  • 具体做的是个文件导入的功能,导入的功能是成功了,但是界面一直得不到返回值,排查了一下午,调试的时候是可以有返回的,但是关掉浏览器调试界面,却得不到返回结果。 原因: 一直以为是我后台程序有问题,...
  • Ajax上传文件,获取返回值,拒绝页面刷新, 需要的话在form上面display:none, 用自定义图片的click关联file的click, 满足一切样式需求. 测试 $(document).ready(function () { $("#file2")....
  • 获取页面离开onbeforeunload与onunload事件的返回值 在各种项目开发的过程中,页面离开事件onbeforeunload是我们经常要用到的,可以避免用户操作失误,给用户一个选择的机会,就比如我们常常用到的编辑器中。...
  • 查询接口需要用到登录接口的返回值,但是登录接口页面是重定向的,后台只判断有没有该用户,有该用户就跳转到登录成功后的页面,没有就重新返回登录页面,也就是没有状态码返回,没有返回值 获取不到返回值就关联不...
  • wget url获取200返回值

    千次阅读 2018-11-08 13:32:00
    一般[root@lamp scripts]# wget 192.168.152....如何取我们要的返回值“200”行呢,须在wget后加上2>&1 [root@lamp scripts]# wget 192.168.152.5 2>&1|grep 200 HTTP request sent, awaiting response… 200 OK
  • 我用过ajax,jquery,提交请求可以,但是返回值获取不到,提示跨域请求的问题。直接放弃,因为我是接口请求。 index.jsp *" %> ;charset=utf-8" %> *"%> String path = request.getContextPath(); String basePath ...
  • 获取confirm返回值的故事

    千次阅读 2015-09-28 11:09:34
    也许很多人看了这个标题就会不屑看下去,大可以说网上多的去了这种问题的文章,的确,当我碰到这个问题的时候,我也首先在网上找了很多资料,但是没有合适的,... 我的要求是这样的,页面上有个表单,表单的内容是绑

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 154,191
精华内容 61,676
关键字:

网页页面获取不到返回值