预期的十六进制数字

时间:2012-09-16 20:51:48

标签: javascript spring-mvc jstl

当我将文件路径(例如'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.')
}

2 个答案:

答案 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");
    });

这对我有用;