기존의 URL 에 파라미터를 추가해야할 때

어떻게들 하셨나요?

url : http://www.as3.kr/stratus.php
param : a=1

라면 문제는 참 쉽겠죠.

url + "?" + param

이라고 하면 되겠죠.

근데 만약 url 에 이미 파라미터가 붙어있다면?

url : http://www.as3.kr/stratus.php?b=2
param : a=1

이렇게 되면 머리가 살짝 아파지죠 ㅋ

어제 개발하다가 이 부분을 메소드로 만들어봤습니다.

function addParameter( $url: String, $param: Object ): String
{
     var url: String = $url.split( "?" )[ 0 ];
     var param: URLVariables = new URLVariables( $url.split( "?" )[ 1 ] );
    
     var prop: String;
     for( prop in $param )
          param[ prop ] = $param[ prop ];
              
     if( param.toString().length > 1 )
          url += "?" + param.toString();
    
     return url;
}

var url: String = "http://www.as3.kr/stratus.php";
var param: Object = {};

trace( addParameter( url, param ) );

// 결과
// http://www.as3.kr/stratus.php

var url: String = "http://www.as3.kr/stratus.php";
var param: Object = {};
param.command = "add";
param.peerid = "1234";

trace( addParameter( url, param ) );

// 결과
// http://www.as3.kr/stratus.php?peerid=1234&command=add

var url: String = "http://www.as3.kr/stratus.php?a=b";
var param: Object = {};
param.command = "add";
param.peerid = "1234";

trace( addParameter( url, param ) );

// 결과
// http://www.as3.kr/stratus.php?peerid=1234&a=b&command=add

저작자 표시 비영리 동일 조건 변경 허락
신고
  1. Favicon of http://diebuster.com hika 2009.08.06 15:25 신고

    url에 섞여있을지 모르는 get값을 제거하는 센스쟁이~
    근데 북마크 #도 미리 제거해줘야하지 않을까?
    아마도 url.split('?')[1].split('#')[0] 이 되야할거야. 실험좀 해 봐봐 ^^

  2. Favicon of http://diebuster.com hika 2009.08.06 17:51 신고

    그렇게 생각해보니까 ( 'http://aa.com?a=3', {a:7} ); 이렇게 보내면 인자로 보낸 a가 이기는거네.
    이기는게 맞는지 틀린지에 대한 의견이야 개인차겠지만 http스펙에서는 ?a=3&a=7&a=8 을 허용하고 있어.
    asp, php, jsp 전부 저 경우에 a를 배열로 만들어서 반환하는 능력이 있고.
    이것도 고려해줘 ㅎㅎ

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2009.08.06 17:53 신고

      그렇게 생각하면 변수 바꾸는 걸로도 생각할 수 있겠네요 ㅋㅋ

  3. Favicon of http://lovedev.tistory.com lovedev 2009.08.07 12:03 신고

    //hika a가 이기는 것이 아니고 서버에선 배열로 받게 될꺼에요~

    • Favicon of http://diebuster.com hika 2009.08.07 20:31 신고

      이긴다는 건 플래시쪽 얘긴데요 ^^;

    • Favicon of http://wooyaggo.tistory.com 우야꼬  2009.08.07 20:57 신고

      앗 창훈형이다 ㅋㅋ

    • Favicon of http://lovedev.tistory.com lovedev 2009.08.07 21:10 신고

      //hika 그렇군요 실수했네요
      ^^ 그냥 댓글만 보고 판단했어요 ^^;;

      //우야꼬
      ^^ 새소식이 있길래 들러봤어~ :)

  4. Favicon of http://blog.flashplatform.kr 검쉰 2009.08.09 20:45 신고

    오홍. 깔끔하네 ㅎㅎ

+ Recent posts