zoukankan      html  css  js  c++  java
  • APPCAN开发笔记:html页面之间的参数传递:使用js获取url中的参数,以及在APPCAN中不能使用的解决方法

    用PHP的GET/POST方式来传递方式已经是司空见惯了,但是如果我的页面是一个静态的html的页面,想传递参数的时候要怎么办呢?在APPCAN的开发中我们会经常遇到这样的问题,因为所有的页面都是静态的HTML页面,服务器的数据请求都是通过ajax来实现的,那我们如何访问一个带参数的页面呢?

    首先想到的是通过js来获取url中的参数,然后获得参数后进行ajax数据交换来请求当前页面的内容,具体方法如下:

    function GetRequest(key){
        var url = location.search;
        if(url.indexOf("?") != -1){
            var str = url.substr(1);
            strs = str.split("&");
            for(var i=0; i <strs.length;i++ ){
                if(key == strs[i].split("=")[0])
                    var res = unescape(strs[i].split("=")[1]);
            }
        }
        return res;
    }    

    GetRequest是一个简单的用来获取url中key这个键对应的值,比如 goods.html?id=1页面中,我们通过GetRequest("id")就可以获得对应的值:1。

    但是很不幸,到了APPCAN中,PC模拟器上一切正常,在安卓机上进行测试的时候发现,他居然不执行!

    这样一来,我们只能考虑通过其他的方法来达到传参这个目的了,

    备选方案是通过localstorage来实现,在点击跳转页面之前,先将参数存入localstorage,然后在新页面中获取这个参数,具体的存储及获取localstorage的方法如下:

    function setLocStorage(key,val){ 
        appcan.locStorage.setVal(key,val);  
    }
    
    function getLocStorage(key){     
        var val=appcan.locStorage.getVal(key);
        return val;   
    }

    大功告成,虽然觉得有些别扭,但是暂时还没有想到其他比较好的替代方案,就先用着了。

  • 相关阅读:
    使用SuperWebSocket 构建实时 Web 应用
    slam for Windows 库安装及应用libfreenect2
    《SLAM十四讲》g2o_custombundle在windows轻松调通
    windows下命令行查看库依赖
    zend studio控制台中文乱码
    http协议转
    mysql 字段 增删改
    PHP内部函数
    分层设计
    SecureCRT上传和下载
  • 原文地址:https://www.cnblogs.com/starkiller/p/5755643.html
Copyright © 2011-2022 走看看