이 글에서는 주로 js의 URL 객체 관리에 대한 관련 지식과 사용법을 소개합니다. 필요한 친구들은 편집자를 따라가면서 함께 배울 수 있습니다. 그것이 모두에게 도움이 되기를 바랍니다.
1. 문제 설명
url은 페이지 점프, Ajax 요청 데이터 또는 기타 프레임워크 플러그인 URL 등 웹 작성 과정에서 처리해야 하는 필수 값입니다.
많은 프로그램에서 일반적으로 말하면, js에서는 URL(주로 여기에 포함된 매개변수)을 변경해야 하는 상황이 자주 발생합니다. 대부분의 사람들이 사용하는 방법은 단순성보다 낫지만 다음과 같은 많은 단점도 있습니다.
URL이 변경될 때마다 먼저 객체 형식을 사용하면 되고, 그런 다음 일부 매개변수를 변경한 다음 새 URL 메소드로 구성합니다.
이렇게 빌드하고 시작하면 약간 불필요하다고 느낄 수 있지만 더 많은 작업을 처리할 때 매우 편리합니다. .
/** * 数据处理-解析url为一个对象 */ function parseUrl(strUrl){ var arrUrlPart=strUrl.split('?'); var strUrl=arrUrlPart[0]; var mUrl={ url:strUrl }; if(arrUrlPart.length===2){ var strParam=arrUrlPart[1]; var arrParamPart=strParam.split('&'); for(i in arrParamPart){ var strParamPart=arrParamPart[i]; var arrParamKy=strParamPart.split('='); var strKey=arrParamKy[0]; var strValue=decodeURIComponent(arrParamKy[1]); mUrl[strKey]=strValue; } } return mUrl; } /** * 数据处理-构成/组建url(字符串) */ function concatUrl(mUrl){ var strUrl=mUrl.url; var strParam=''; for(strKey in mUrl){ if(strKey==='url'||mUrl[strKey]===null) continue; strParam+=(strKey+'='+encodeURIComponent(mUrl[strKey])+'&');//注入避免 } if(strParam!==''){ strParam=('?'+strParam.substring(0,strParam.length-1)); } return strUrl+strParam; }
var strUrl1='www.example.com/admin/product/main?group_code=test_group&p_code=shangpin1'; var mUrl1=parseUrl(strUrl1); console.log(mUrl1.p_code); mUrl1.p_code='shangpin2'; var strUrl2=concatUrl(mUrl1); console.log(strUrl2); mUrl1.group_code=null; mUrl1.user_name='用?&=户'; var strUrl3=concatUrl(mUrl1); console.log(strUrl3); var mUrl3=parseUrl(strUrl3); console.log(mUrl3.user_name);
shangpin1 www.example.com/admin/product/main?group_code=test_group&p_code=shangpin2 www.example.com/admin/product/main?p_code=shangpin2&user_name=%E7%94%A8%3F%26%3D%E6%88%B7 用?&=户
www.example.com/admin/product/list/1
h5 PHP5의 새로운 기능: 더욱 객체 지향적인 PHP
JavaScript 입문 튜토리얼(12) js 객체 기반 프로그래밍_기본 지식
위 내용은 js의 URL 객체 관리에 대한 자세한 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!