我有从ajax调用返回的数据:INSERT_OK_something
。
我想使用带有INSERT_OK_*
之类通配符的switch语句,并将“某些内容”作为id变量传递给我的网址。
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;
}
我该怎么做?
答案 0 :(得分: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;
}