768 Stimmen

Fehler beim Überschreiten der maximalen Aufrufstapelgröße

Ich verwende eine Direct Web Remoting (DWR) JavaScript-Bibliotheksdatei und erhalte nur in Safari (Desktop und iPad) einen Fehler

Dort heißt es

Maximale Größe des Aufrufstapels überschritten.

Was genau bedeutet dieser Fehler, und wird die Verarbeitung vollständig abgebrochen?

Auch eine Lösung für Safari Browser (eigentlich auf der iPad Safari heißt es

JS:execution exceeded timeout

Ich nehme an, dass es sich dabei um dasselbe Problem mit dem Aufrufstapel handelt.)

4 Stimmen

Ich bekam diesen Fehler, als ich versuchte, Variablen (ohne sie zu deklarieren) zu senden, durch data in Ajax. Der Fehler wurde durch Deklaration der Variablen behoben.

0 Stimmen

Endlosschleife ...

0 Stimmen

Bei mir war der Name meiner JavaScript-Funktion onclick() und ich bekam diesen Fehler :-) Dies sind zwar reservierte Namen

1voto

live-love Punkte 40586

In meinem Fall, in app.module.ts, bekam ich diesen Fehler, weil ich die Komponente in imports und entryComponents deklariert.

Example:

import { MyComponent } from '....';

@NgModule({
  declarations: [
    MyComponent 
  ],
  imports: [
    MyComponent  -- > remove this from here!!!!
  ],
  providers: [],
  bootstrap: [AppComponent],
  entryComponents: [MyComponent]
})
export class AppModule { }

1voto

Priyanshu Tiwari Punkte 167

Ich habe diesen Fehler in express/nodejs app, wenn das Schema der MongoDB-Datenbank und die Modelle, die wir erstellt haben, nicht übereinstimmen.

1voto

Amine Harbaoui Punkte 1159

Das Problem in meinem Fall ist, dass ich eine Kinderroute mit demselben Pfad wie die übergeordnete Route habe:

const routes: Routes = [
  {
    path: '',
    component: HomeComponent,
    children: [
      { path: '', redirectTo: 'home', pathMatch: 'prefix' },
      { path: 'home', loadChildren: './home.module#HomeModule' },
    ]
  }
];

Also musste ich die Zeile mit der Kinderroute entfernen

const routes: Routes = [
  {
    path: '',
    component: HomeComponent,
    children: [
      { path: 'home', loadChildren: './home.module#HomeModule' },
    ]
  }
];

0 Stimmen

Ja, das stimmt. Ich habe es mit diesem gelöst. Ich hatte eine Rekursion in den Angular 11 Routen

1voto

Ich stand vor dem gleichen Problem Ich habe das Problem gelöst, indem ich einen Feldnamen entfernt habe, der bei Ajax zweimal verwendet wurde z.B.

    jQuery.ajax({
    url : '/search-result',
    data : {
      searchField : searchField,
      searchFieldValue : searchField,
      nid    :  nid,
      indexName : indexName,
      indexType : indexType
    },
.....

1voto

spacedev Punkte 883

Ich hatte auch ein ähnliches Problem, hier sind die Details beim Hochladen des Logos über das Dropdown-Logo-Upload-Feld

<div>
      <div class="uploader greyLogoBox" id="uploader" flex="64" onclick="$('#filePhoto').click()">
        <img id="imageBox" src="{{ $ctrl.companyLogoUrl }}" alt=""/>
        <input type="file" name="userprofile_picture"  id="filePhoto" ngf-select="$ctrl.createUploadLogoRequest()"/>
        <md-icon ng-if="!$ctrl.isLogoPresent" class="upload-icon" md-font-set="material-icons">cloud_upload</md-icon>
        <div ng-if="!$ctrl.isLogoPresent" class="text">Drag and drop a file here, or click to upload</div>
      </div>
      <script type="text/javascript">
          var imageLoader = document.getElementById('filePhoto');
          imageLoader.addEventListener('change', handleImage, false);

          function handleImage(e) {
              var reader = new FileReader();
              reader.onload = function (event) {

                  $('.uploader img').attr('src',event.target.result);
              }
              reader.readAsDataURL(e.target.files[0]);
          }
      </script>
      </div>

CSS.css

.uploader {
  position:relative;
  overflow:hidden;
  height:100px;
  max-width: 75%;
  margin: auto;
  text-align: center;

  img{
    max-width: 464px;
    max-height: 100px;
    z-index:1;
    border:none;
  }

  .drag-drop-zone {
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.12);
    padding: 32px;
  }
}

.uploader img{
  max-width: 464px;
  max-height: 100px;
  z-index:1;
  border:none;
}

.greyLogoBox {
  width: 100%;
  background: #EBEBEB;
  border: 1px solid #D7D7D7;
  text-align: center;
  height: 100px;
  padding-top: 22px;
  box-sizing: border-box;
}

#filePhoto{
  position:absolute;
  width:464px;
  height:100px;
  left:0;
  top:0;
  z-index:2;
  opacity:0;
  cursor:pointer;
}

vor der Korrektur lautete mein Code :

function handleImage(e) {
              var reader = new FileReader();
              reader.onload = function (event) {
                  onclick="$('#filePhoto').click()"
                  $('.uploader img').attr('src',event.target.result);
              }
              reader.readAsDataURL(e.target.files[0]);
          }

Der Fehler in der Konsole:

enter image description here

Ich habe das Problem durch Entfernen der onclick="$('#filePhoto').click()" von div-Tag.

0 Stimmen

Wo haben Sie die Funktion click() hinzugefügt?

0 Stimmen

Ich wollte antworten, aber das System schlug mir vor, zuerst die alten Einträge durchzusehen. Ja, ich hatte auch dies onclick="$obj.click()" in meinem HTML. Sieht aus wie es Schleifen jquery Anlage in irgendeiner Weise

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X