您是否遇到过这个令人讨厌的错误消息:“未确定的字符串文字”。
好的,我有3次您可能会遇到此错误,以及如何针对每种情况修复此错误。
- 多行字符串
- 字符串格式错误(错误字符)
- 尖括号
多行字符串
如果您尝试为一个变量分配一个涵盖多行的字符串,则可能会看到“ Undetermined String Literal”错误。 为了解决这个问题,您必须在每行之后使用JavaScript转义字符反斜杠(“”)来告诉解释器该行的结尾并将字符串连接在一起。
另一种方法是简单地将您的字符串分成几部分,然后将它们加在一起。
字符串格式错误(错误字符)
如果尝试将HTML分配给变量,则可能会看到“未确定的字符串文字”错误。 可能是您通过Ajax从其他位置加载了HTML,现在正在尝试使用/检查它。 在尝试分配字符串之前,请使用以下代码清除字符串中的错误字符。
尖括号
如果您尝试在字符串中使用尖括号(“>”&“ <”),则在尝试通过Ajax提交字符串数据时,可能会看到“未确定的字符串文字”错误。[js] var contentQuery ='
前10个位置,例如“ abc”';
//注意:abc替换实际的查询
[/ js]
事实证明,这是由安全查询尖括号引起的错误,我不得不通过在编码和通过AJAX发送请求之前添加尖括号(“ <“&”>”)来破解它(如此) 。
$.ajax({
type: 'POST',
url: '/ajax/abc',
data: 'content=' + encodeURIComponent('< '+contentQuery+'>'),
dataType: 'html',
success: function(data){
console.log(data);
//display results
$('#results').html(data);
}
});
尽管不确定,这甚至可能是jQuery中的错误。 当您在萤火虫中测试时,它仍然有效! 所以也许不...
var fine = '
first 10 location like "abc"
'; console.log(fine);
From: https://www.sitepoint.com/jquery-undetermined-string-literal-error/