获取Javascript正则表达式错误 - 甚至不使用它们

时间:2011-02-10 18:32:09

标签: javascript .net

function GenerateTermSheet()
        {
            var urlString = <%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/CreateTermSheet/")%>
            var guidString = GetGUIDValue();
            alert(urlString);
//            $.ajax({
//                    type: "POST",
//                    url: urlString,
//                    success: function(data) {
//                        alert('Success!');
//                    }
//                });
        }

当我使用firebug时...我可以看到它将正确的路径应用于urlString,但它在该行返回此错误?

invalid regular expression flag v
[Break On This Error] var urlString = /Extranet/mvc/Indications.cfc/CreateTermSheet/ 

这可能是什么?

1 个答案:

答案 0 :(得分:3)

您必须用引号标记插入的文字:

var urlString = '<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/CreateTermSheet/")%>';

否则文本被解释为JavaScript,定义正则表达式的一种方法是使用/.../。因此/Extranet/被识别为正则表达式,之后的所有内容都被视为修饰符(或标志)。 m是一个有效的修饰符,但v不是,并且存在错误。