Blokkering av lesing på tvers av opprinnelse (CORB)

Jeg har kalt tredjeparts API ved hjelp av Jquery AJAX. Jeg får følgende feil i konsollen:

Cross-Origin Read Blocking (CORB) blocked cross-origin response MY URL with MIME type application/json. Se https://www.chromestatus.com/feature/5629709824032768 for mer informasjon.

Jeg har brukt følgende kode for Ajax-kall:

$.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....=================");
  }
});

Når jeg sjekket i Fiddler, har jeg fått dataene som svar, men ikke i Ajax-suksessmetoden.

Vennligst hjelp meg.

I de fleste tilfeller skal det blokkerte svaret ikke påvirke nettsidens oppførsel, og CORB-feilmeldingen kan trygt ignoreres. For eksempel kan advarselen forekomme i tilfeller der brødteksten i det blokkerte svaret allerede var tom, eller når svaret skulle leveres til en kontekst som ikke kan håndtere det (f.eks. et HTML-dokument som en 404-feilside som leveres til en -tag).

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

Jeg måtte rense nettleserens cache, jeg leste i denne lenken at hvis forespørselen får et tomt svar, får vi denne advarselsfeilen. Jeg fikk noen CORS på forespørselen min, og så ble svaret på denne forespørselen tom, alt jeg måtte gjøre var å tømme nettleserens cache, og CORS kom unna. Jeg mottok CORS fordi krom hadde lagret PORT-nummeret i hurtigbufferen, Serveren ville bare godta localhost:3010 og jeg gjorde localhost:3002, på grunn av hurtigbufferen.

Kommentarer (0)

Du må legge til CORS på serversiden:.

Hvis du bruker nodeJS da:

Først må du installere cors ved å bruke kommandoen nedenfor:

npm install cors --save

legg til følgende kode til appens startfil som (app.js eller 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);
Kommentarer (7)

Svarhoder angis vanligvis på serveren. Sett "Access-Control-Allow-Headers" til "Content-Type" på serversiden.

Kommentarer (3)