小编Lan*_*e G的帖子

Javascript 获取 - 捕获错误“加载失败”。这是什么意思?

我正在使用Aurelia Web 应用程序并利用http.fetch来调用各种 Web API。

为了帮助调试,我使用 catch 语句记录 fetch 上的所有错误,如下所示:

this.http.fetch('Controller/APIFunc', mymethod).then(response => response.json()).then(info => {
            //Do Stuff on success 
        }).catch(error => {
            this.globalfuncs.HandleFetchErrors(error);
        });      
Run Code Online (Sandbox Code Playgroud)

有时,我会收到以下消息的错误“网络连接丢失”或“无法获取”或“已取消”,我将其归因于网络连接中断并忽略。

但最近(截至 2021 年 11 月)我开始收到一个新错误,每天都会出现几次,我不知道这意味着什么。

它只是指出“加载失败”。

我正在尝试重现它,但我无法在本地环境中重现它,因此我正在尝试找出它的含义。

我的客户没有就任何问题联系我,但我仍然对这个错误的出现频率感到困扰(每天大约 3-6 个)。

这也许是另一种类型的网络中断?我搜索了多个站点和线程,但找不到此捕获错误“加载失败”的解释。

任何想法都会很棒!

fetch aurelia

7
推荐指数
0
解决办法
1433
查看次数

Aurelia:以编程方式更改参考值不会改变模型

我们有一种情况,我们在多个网页(注释编辑器)中使用一个组件.此注释编辑器从页面上的输入元素获取值,并将该值放入用户可以修改它的组件中.用户在注释编辑器中键入并单击"提交".然后,注释编辑器组件将新值传递回原始页面上的输入.

我们使用"ref"来回传递值.一切正常,但是当我们从音符编辑器组件设置ref的值时,模型不会更新.我们发现我们需要输入一次才能更新模型.这是一个简单的要点来说明我们的例子:

这只是以编程方式设置ref值的简单示例.请注意"我输入的值是"是如何保持为"Hello"但输入字段更改为"Value Changed !!!!" 当你按下按钮.

https://gist.run/?id=fab025d6b99a93f9951b1a6e20efeb5e

有几点需要注意:1)我们想使用Aurelia的"ref"而不是"id"或"name".2)我们试图通过模型而不是"ref".我们可以成功获取模型的值并将其放入注释编辑器中,但是当我们将模型传回时,模型不会更新.

更新:

我们有答案(谢谢!).这是我们尝试传递模型的代码(因此我们甚至不需要使用ref).这对我们来说失败了.

这是page.html的视图

<TextArea value.bind="main.vAffectedClients" style="width:94%;" class="editfld" type="text" rows="6"></TextArea>
<input class="butn xxsBtn" type="button" value="..." click.trigger="OpenNoteDivAurelia(main.vAffectedClients)" />
Run Code Online (Sandbox Code Playgroud)

这是page.js的View-Model

import {NoteEditor} from './SmallDivs/note-editor';
...
@inject(NoteEditor, ...)
export class PageName {
  constructor(NoteEditor, ...)
  {
    this.note = NoteEditor;
    ...
  }


  OpenNoteDivAurelia(myTargetFld)
  {
     this.note.targetFld = myTargetFld;
     this.note.vHidTextArea.value = myTargetFld;
     this.note.show();
  }
}
Run Code Online (Sandbox Code Playgroud)

这部分打开我们的组件(注释编辑器)并成功将targetFld值放在组件中的TextArea中.

将值BACK放到page.js/page.html时,这是View-Model

    CloseNote(populateFld)
    {
      if (populateFld)
      {
         //This is the line that doesn't seem to work
         this.targetFld = vHidTextArea.value;
      }
      this.isVisible = false;
    }
Run Code Online (Sandbox Code Playgroud)

最后一个函数"CloseNote"是不起作用的.该模型(我们认为指向this.targetFld)不会获得textarea的值.它没有错误,它根本不做任何事情.

aurelia

1
推荐指数
1
解决办法
809
查看次数

标签 统计

aurelia ×2

fetch ×1