2012-02-27 3 views
0

일부 쿼리 문자열이있는 URL이 있습니다.param 중 하나가 값에 특수 (&) 문자가있는 경우 jquery에서 쿼리 문자열 매개 변수를 구문 분석하는 방법

/mypage.html?errorcode=12345 & 이름 = 뭔가 ™

내가 jQuery를 사용하여 쿼리 문자열을 구문 분석 할 수있는 작업 코드가 있습니다. 그러나 위의 예에서는 실패했습니다. = 12345 및 이름 에러 코드 = 뭔가 ™ 참고 :이에

모든 아이디어 그래서 나는대로 쿼리 문자열 쌍을 얻을 수 있습니다 ™ 그 안에 (&)가 있습니다.
내 코드 :

$.extend({ 
     getUrlVars: function() { 
      var vars = [], hash; 
      var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
      for (var i = 0; i < hashes.length; i++) { 
       hash = hashes[i].split('='); 
       vars.push(hash[0]); 
       vars[hash[0]] = hash[1]; 
      } 
      return vars; 
     }, 
     getUrlVar: function (name) { 
      return $.getUrlVars()[name]; 
     } 
    }); 

VAR paramValue = $ .getUrlVar ('에러 코드');

+0

[자바 스크립트 구문 분석 쿼리 문자열]의 중복 가능성 (http://stackoverflow.com/questions/2090551/parse-query-string-in-javascript) – j08691

+1

당신이 URL의 제어가 있습니까? 가장 쉬운 해결책은 올바르게 인코딩하는 것입니다. – paislee

+0

예. URL을 인코딩 할 수 있습니다. 그러면 다음과 같이됩니다. % 2FMy-offline.html % 3Ferrorcode % 3D12345 % 26name % 3Dsomething % 20 % E2 % 84 % A225A2 여기서 쿼리 문자열 매개 변수는 어떻게 파싱 할 수 있습니까? – Raj

답변

0
<script lang=”javascript” type=”text/javascript”> 
function testQueryStrings() 
{ 
window.location = “search.aspx?q=abc&type=advanced”; 
} 
</script> 

<input type=”button” id=”btn” value=”Test Query Strings” onclick=”testQueryStrings()” /> 

<script lang=”javascript” type=”text/javascript”> 
var qrStr = window.location.search; 
var spQrStr = qrStr.substring(1); 
var arrQrStr = new Array(); 
// splits each of pair 
var arr = spQrStr.split(‘&’); 
for (var i=0;i<arr.length;i++){ 
// splits each of field-value pair 
var index = arr[i].indexOf(‘=’); 
var key = arr[i].substring(0,index); 
var val = arr[i].substring(index+1); 

// saves each of field-value pair in an array variable 
arrQrStr[key] = val; 
} 

document.write(“<h1>Name parameter: “+arrQrStr["name"]+”. Role parameter: “+arrQrStr["role"]+”</h1>”); 
+1

아아 호호한 견해! – prodigitalson

관련 문제