当我将文件路径(例如'C:\u01\oracle\fmw_11114\data\proj\folder\name 09022014.txt
)从java控制器传递到javascript脚本时,会导致错误“Expected hexadecimal Digit
”。
此路径从文件系统中读取并直接传递给脚本,在将其传递给脚本之前,我无法转义字符串中的反斜杠“\”。任何想法如何解决问题?
if(document.getElementById('hdnA').value == 'ALR') {
alert('ERROR: ' + '${arch}' + ' file not found.')
}
答案 0 :(得分:8)
错误信息是指出错误的一个很好的指标。
Unicode字符可以使用以下格式直接传递给脚本:\ uXXXX(其中XXXX表示特定字符的代码)。
您的路径包含一个名称以U开头的文件夹,因此路径字符串包含文字Unicode字符插入(\ u)的文字控制字符。
一个简单的解决方法是使用正斜杠传递文件路径:
'C:/u01/oracle/fmw_11114/data/proj/folder/name 09022014.txt'
我遇到了与我的Java应用程序相同的问题,该应用程序尝试使用元素中的路径值动态插入脚本。将反斜杠改为正斜杠解决了这个问题。
答案 1 :(得分:1)
萨拉姆! 使用此正则表达式:
$("#cash-extract, #balance-extract, #orders-extract").hide();
$("#cash-history, #balance-history, #orders-history").click(function() {
var id = $(this).attr('id').split('-')[0];
$('#'+id+'-extract').fadeToggle("fast", "linear");
});
这对我有用;