繁体   English   中英

POST /apex/wwv_flow.ajax在提交和加载的页面上返回404(未找到)

[英]POST /apex/wwv_flow.ajax returns with 404 (Not found) on pages submit and load

Oracle APEX中应用程序的开发过程中,我开始从APEX引擎中获取真正奇怪的404 (Not Found)异常。

有时,APEX针对不同的操作响应404 (Not Found) 我可以得到这些例外的地方可能有所不同:

  • 进行AJAX调用时: 在此处输入图片说明
  • 提交模式页面时: 在此处输入图片说明
  • 在App Builder中更改页面时: 在此处输入图片说明
  • 有时,即使开发人员已登录到App Builder: 在此处输入图片说明

关于这一切的最奇怪的事情是,此异常仅连续发生一次。 例如,如果我按下按钮提交页面,则第一次出现异常,而第二次按下按钮时,一切正常。

如何以100%的概率重现样本的示例之一-我有一个页面,上面有几个交互式报告。 每个交互式报告都有一个链接列以编辑行。 当用户单击链接时,将出现一个带有表单的模态窗口,然后他们应单击按钮“保存”。 因此,重现该错误的步骤:

  1. 打开包含交互式报告的页面。
  2. 选择要编辑的行,然后单击链接列。
  3. 在模式窗口中更改任何内容,然后单击“保存”。
  4. 出现错误。
  5. 再次单击Save
  6. 保存数据,关闭模式窗口并刷新报告。

在浏览器JavaScript控制台中,我看到以下内容:

POST http://<my_ip_address>/apex/wwv_flow.ajax 404 (Not found)
XHR failed loading: POST "http://<my_ip_address>/apex/wwv_flow.ajax".

另外,我在OTN上就该主题展开了讨论,并提供了一些其他信息。

使用试错法,找出错误的原因。

似乎该错误与基于LOV (值列表)的项目或报表列有关。 并且仅当这些LOV基于返回大量行 (假设一百多个)的流水线函数时

这是发生了什么:

  1. User1提交一个页面,其中有多个基于LOV项目(而LOV又基于数据库管道功能)。 例如,几个Popup LOV项目。 用户1设置一些值,然后按提交按钮。
  2. APEX accept process接收到该请求,尝试从LOV中获取行,但并不需要所有它们,据我所知,尝试关闭游标。
  3. 管道功能引发异常ORA-06548: no more rows needed 这是绝对合法的行为。
  4. APEX引擎对此没有足够的反应,并作为请求的结果返回404 (Not Found)
  5. APEX show process包装此异常并将其返回给User1。 User1看到我上面显示的图片之一。

因此,解决方案是抑制LOV组件中使用的流水线函数生成的任何异常。 这样做之后,一切都开始正常工作。

我认为这是一个Oracle APEX错误,原因有三点-流水线函数的反应不足,对于开发人员和用户而言,响应中生成的错误都是不透明的,甚至在任何地方都未正确记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM