放置函数时出现 Microsoft VBScript 编译错误 '800a03ea' 语法错误

On putting function getting Microsoft VBScript compilation error '800a03ea' Syntax error

Microsoft VBScript compilation error '800a03ea'
Syntax error
/decal/sslpdecal_inc/login.asp, line 26
Function DealerDecrypt(ByVal cString)
^

我的完整解密函数如下

<%
    Function DealerDecrypt(ByVal cString)
        Dim cNewString
        Dim nOffset
        Dim nCharCode
        Dim cNewChar
        Dim i
        nOffset = -1
        For i = 1 To Len(cString)
            nCharCode = Asc(Mid(cString, i, 1))
            nCharCode = nCharCode + (nOffset)
            cNewChar = Chr(nCharCode)
            cNewString = cNewString & cNewChar
            nOffset = nOffset - 1
            If nOffset = -11 Then nOffset = -1
        Next
        DealerDecrypt = cNewString
    End Function 
%>

我用这个函数创建了一个名为 Getsample.asp 的示例,并且在其中运行良好,但是当在 pagename login.asp 中放置相同的函数时,我收到了这个错误。

这 2 个页面之间的唯一区别是 Getsample.asp 我有 head,body 标签,而在 Login.asp 页面我只有 body 标签。

我能够通过在函数定义的开头放置一个无效字符来重现它,可能是你有一个不可见的字符而不是 VBScript 运行时不喜欢的空格或制表符。

<%
.   Function DealerDecrypt(ByVal cString)
        Dim cNewString
        Dim nOffset
        Dim nCharCode
        Dim cNewChar
        Dim i
        nOffset = -1
        For i = 1 To Len(cString)
            nCharCode = Asc(Mid(cString, i, 1))
            nCharCode = nCharCode + (nOffset)
            cNewChar = Chr(nCharCode)
            cNewString = cNewString & cNewChar
            nOffset = nOffset - 1
            If nOffset = -11 Then nOffset = -1
        Next
        DealerDecrypt = cNewString
    End Function 
%>

产生以下错误

Microsoft VBScript compilation error '800a03ea'

Syntax error

/test16.asp, line 6

.    Function DealerDecrypt(ByVal cString)  
-----^

虽然您的字符没有显示特定字符​​,但请注意它如何指向函数的开头作为错误的原因。我会清除 Function 开头的所有字符,然后使用您喜欢的方法 spaces/tabs.

重新应用任何缩进

您好,问题已解决

login.asp 是 index.asp 的子页面。

在 index.asp 页面上,代码如下所示,调用了不同的页面。

<!-- #include file="xxxx/xxxx.asp" -->

并且在内部它正在调用 login.asp 页面。

所以在将函数放在父页面上时它起作用了。

我遇到了同样的问题,将 include 语句放在文件的开头对我有用