第五十八章 CSP的常见问题 - HTTP请求失败

2022-11-25  本文已影响0人  Cache技术分享

第五十八章 CSP的常见问题 - HTTP请求失败

HTTP请求失败。无法处理超事件。这是什么意思?

当浏览器试图与CSP broker小程序通信但无法通信时,会发生超级事件错误。这可能与代码或配置有关。要确定问题是否出在代码上,请加载http://localhost:57772/csp/samples/zipcode.csp(其中57772Caché web服务器端口号。如有必要,用实际的web服务器端口替换57772,如果有外部web服务器正在运行(http://localhost/CSP/samples/zipcode.CSP),则省略它,或者如果Caché是远程安装的,则用IP地址或机器名称替换localhost。)

在邮政编码页面上,单击#SERVER,在邮政编码框中输入邮政编码,如02142,然后按Tab键。如果没有收到超级事件错误,则说明配置正确,并且超级事件错误很可能是由编码错误引起的。

如果问题看起来与编码有关,那么有两件事需要寻找。在加载页面时,切勿使用#SERVER调用。这包括在<Body>标记的onLoad事件中调用它们,可以直接调用,也可以从onLoad中调用的JavaScript方法调用。它还包括从runat=\“服务器\”代码块的&js<>行中调用它们。如果需要在页面加载时调用方法,请在runat=\“服务器\”块中使用对象脚本语法。

<script language="cache" runat="server">
    // if method is located in the page or in a class the page inherits from
    d ..mymethod()
    // if class cannot be called using dot syntax
    d ##class(User.MyClass).mymethod()
</script>

我收到一条错误消息,指出我的例程中的某一行有问题,但我找不到int例程。它在哪里?

根据当前的设置,在编译CSP页面时可能不会保留源代码。要强制Caché维护此源代码,可以执行以下两种操作之一:

 Do $System.CSP.LoadPage("/csp/samples/james.csp", "ck")

要查找生成的源代码:

打开Studio并验证是否在正确的名称空间中。单击文件>打开。在“文件类型”列表中,单击“中间例程(*.int).。找到csp.<csp_page_name>.x.INT,其中x是该例程在系列中的编号。大型CSP页面被分成多个INT例程。包含错误的文件的编号显示在最初收到的错误消息中。

当我运行我的CSP页面时,#(变量)#出现在浏览器中。为什么没有用变量中的数据替换它?

这表明CSP页面没有被Caché CSP编译器正确解析。确保通过web服务器运行页面,如下所示:http://localhost/csp/<namespace>/page.csp.

当我尝试加载我的CSP页面时,为什么会收到无效字符错误信息?

如果不是通过web服务器加载页面,此错误很常见,因为浏览器不知道如何表示CSP语法。如果URL看起来像C:/install-dir/csp/user/mypage.csp,,没有通过web服务器加载。

URL应该类似于http://localhost:57772/csp/user/mypage.csp or http://localhost/csp/user/mypage.csp.

这些消息也可能是由于没有正确转换为ObjectScript方法调用的#server()#调用造成的。在浏览器中,右键单击并查看页面的源代码。如果源文件仍然包含#server,则语法可能不正确。请确保其格式正确:#server(..methodname())#

如果要将字符串传递给方法,它们必须在双引号("")内。一旦CSP页面被编译成HTML,所有的#server()#调用都被转换成对csprunservermethod()的调用。

为什么我的CSP标签没有被解析?

web服务器没有正确地将CSP页面传递到CSP网关进行解析。

CSP记录错误吗?如何增加日志记录,日志在哪里?

上一篇 下一篇

猜你喜欢

热点阅读