Cross-Origin-leesblokkering (CORB)

Ik heb gebeld API van derden met behulp van Jquery AJAX. Ik krijg de volgende foutmelding in de console:

Cross-Origin Read Blocking (CORB) geblokkeerd cross-origin response MIJN URL met MIME type application/json. Zie https://www.chromestatus.com/feature/5629709824032768 voor meer details.

Ik heb de volgende code gebruikt voor een Ajax-oproep:

$.ajax({
  type: 'GET',
  url: My Url,
  contentType: 'application/json',
  dataType:'jsonp',
  responseType:'application/json',
  xhrFields: {
    withCredentials: false
  },
  headers: {
    'Access-Control-Allow-Credentials' : true,
    'Access-Control-Allow-Origin':'*',
    'Access-Control-Allow-Methods':'GET',
    'Access-Control-Allow-Headers':'application/json',
  },
  success: function(data) {
    console.log(data);
  },
  error: function(error) {
    console.log("FAIL....=================");
  }
});

Toen ik het in Fiddler controleerde, kreeg ik de gegevens in antwoord maar niet in Ajax succes methode.

Gelieve mij te helpen.

In de meeste gevallen zou het geblokkeerde antwoord het gedrag van de webpagina's niet mogen beïnvloeden en kan de CORB-foutmelding veilig worden genegeerd. De waarschuwing kan bijvoorbeeld voorkomen in gevallen waarin de body van het geblokkeerde antwoord al leeg was, of wanneer het antwoord zou worden afgeleverd aan een context die'het niet aankan (b.v. een HTML-document zoals een 404-foutpagina die wordt afgeleverd aan een tag).

https://www.chromium.org/Home/chromium-security/corb-for-developers

Ik moest mijn browser's cache opschonen, ik las in deze link, dat, als het verzoek een leeg antwoord krijgt, we deze waarschuwingsfout krijgen. Ik kreeg een aantal CORS op mijn verzoek, en dus het antwoord van dit verzoek werd leeg, Alles wat ik moest doen was de browser's cache, en de CORS weg kreeg. Ik kreeg CORS omdat chrome het PORT nummer in de cache had opgeslagen, De server accepteerde alleen localhost:3010 en ik deed localhost:3002, vanwege de cache.

Commentaren (0)

U moet CORS toevoegen aan de server kant:

Als u nodeJS gebruikt dan:

Eerst moet u cors installeren met behulp van het onderstaande commando :

npm install cors --save

Voeg nu de volgende code toe aan uw app start bestand zoals ( app.js of server.js)

var express = require('express');
var app = express();

var cors = require('cors');
var bodyParser = require('body-parser');

//enables cors
app.use(cors({
  'allowedHeaders': ['sessionId', 'Content-Type'],
  'exposedHeaders': ['sessionId'],
  'origin': '*',
  'methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
  'preflightContinue': false
}));

require('./router/index')(app);
Commentaren (7)

Response headers worden over het algemeen op de server ingesteld. Stel 'Access-Control-Allow-Headers' in op 'Content-Type' aan de server kant

Commentaren (3)