2013-04-11 34 views
2

我有從ajax調用返回的數據:INSERT_OK_something如何在switch語句中使用通配符

我想使用一個像INSERT_OK_*這樣的通配符的switch語句,並將像「變量」這樣的id變量傳遞給我的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; 
}