この記事では主に、js での URL オブジェクト管理の関連知識と使用法を紹介します。必要な友達はエディターに従って一緒に学ぶことができます。皆さんのお役に立てれば幸いです。
1. 問題の説明
url は、ページジャンプ、Ajax リクエストデータ、その他のフレームワークプラグイン URL のいずれであっても、Web 作成プロセスで処理する必要がある不可欠な値です。
多くのプログラムでは一般的に、 js では、URL (主に 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);
もちろん、実際の使用では、安全のため、通常、新しい URL を生成するときは、元のオブジェクトを変更するのではなく、最初に新しいオブジェクトが作成されます
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 用?&=户
メソッドを最適化し、メソッドをパス パラメータに適した解析および解析メソッドに変換することもできますが、これは別の話です。
JavaScript によるオブジェクトベースのプログラミング
h5 PHP5 の新機能: よりオブジェクト指向的な PHP
JavaScript 入門チュートリアル (12) js オブジェクトベースのプログラミング_基礎知識
以上がjsでのURLオブジェクト管理の詳細な分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。