2013-04-11 3 views
2

ajax 호출에서 반환 된 데이터가 있습니다 : INSERT_OK_something.switch 문에 와일드 카드를 사용하는 방법

INSERT_OK_*과 같은 와일드 카드로 switch 문을 사용하고 id 변수와 같은 "something"을 내 URL에 전달하고 싶습니다.

switch (data) { 
case "ERROR": 
     $("#alert").dialog("open").html("Error"); 
     return false; 

case "INSERT_OK_*": 
    var url = "index.php?op=ok&id=" + something; 
    window.location = url ; 
    return false; 
} 

어떻게하면됩니까?

답변

6

이 작은 트릭을 할 것입니다 (jsFiddle 참조)

var data = "INSERT_OK_BLABLA"; 

switch (data) { 
case "INSERT_OK_" + data.slice("INSERT_OK_".length): // emulate INSERT_OK_* 
    var url = "index.php?op=ok&id=" + data.slice("INSERT_OK_".length); 
    alert(url); 
    break; 
default: 
    alert("default"); 
    break; 
} 

또는 startsWith를 사용하여가 (jsFiddle 참조)

switch (true) { 
case data.startsWith("INSERT_OK_"): 
    var url = "index.php?op=ok&id=" + data.slice("INSERT_OK_".length); 
    alert(url); 
    break; 
default: 
    alert("default"); 
    break; 
} 
관련 문제