[기교편] 11.브라우저 요청 주소에서 매개변수를 가져오는 방법

2856 단어
var getAccessParams = function(){
            var i,ilen,strs,keyName,keyValue,
                    params={},
                    path = window.location.pathname,
                    url = window.location.href;
            if(url.indexOf("?")>-1){
                var index=url.indexOf("?");
                strs=url.substring(index+1);
                //console.log(strs);
                strs=strs.split("&");
                ilen=strs.length;
                for(i=0;i<ilen;i++){
                    var indexEqual=strs[i].indexOf('=');
                    keyName=strs[i].substring(0,indexEqual);
                    keyValue=strs[i].substring(indexEqual+1);
                    if(keyName=="callback") keyValue=decodeURIComponent(keyValue);
                    params[keyName]=keyValue;
                }
            }
           
            return params;
        };
      //  console.log(getAccessParams());

요청 주소:http://localhost:8001/shxt_web/chanjet/js/test_whuang.html?callback=http://www.weixin.com?id=123&app=weixin
실행 결과:
Object {callback: "http://www.weixin.com?id=123", app: "weixin"}
http://localhost:8001/shxt_web/chanjet/js/test_whuang.html?callback=http://www.weixin.com?id=123&app=weixin&returnurl=http://www.baidu.com 
실행 결과:
Object {callback: "http://www.weixin.com?id=123", app: "weixin", returnurl: "http://www.baidu.com"}
여기 callback이 고정된 값이라는 것을 주의하세요. 제 여기를 계속 수정하고 자신의 요구를 근절하고 스스로 해결하면 이게 그래도 좋은 것 같아요!
 
나는 여전히 프로그래머의 길을 견지하고 있다. 옳은가!

좋은 웹페이지 즐겨찾기