Starpizcelsmes nolasīšanas bloķēšana (CORB)

Esmu izsaucis trešās puses API, izmantojot Jquery AJAX. Konsolei parādās šāda kļūda:

Cross-Origin Read Blocking (CORB) bloķēja pārrobežu izcelsmes atbildi MY URL ar MIME tipu application/json. Sīkāku informāciju skatīt https://www.chromestatus.com/feature/5629709824032768.

Ajax izsaukumam esmu izmantojis šādu kodu :

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

Kad es pārbaudīju Fiddler, es saņēmu datus atbildē, bet ne Ajax veiksmes metodē.

Lūdzu, palīdziet man.

Vairumā gadījumu bloķētajai atbildei nevajadzētu ietekmēt tīmekļa lapas darbību, un CORB kļūdas ziņojumu var droši ignorēt. Piemēram, brīdinājums var parādīties gadījumos, kad bloķētās atbildes ķermenis jau ir bijis tukšs vai kad atbildi bija paredzēts piegādāt kontekstā, kas to nevar apstrādāt (piemēram, HTML dokuments, piemēram, 404 kļūdas lapa, kas tiek piegādāta tagam).

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

Man nācās iztīrīt pārlūkprogrammas kešatmiņu, es lasīju šajā saitē, ka, ja pieprasījums saņem tukšu atbildi, mēs saņemam šo brīdinājuma kļūdu. Man bija daži CORS uz manu pieprasījumu, un tāpēc šī pieprasījuma atbilde bija tukša, Viss, kas man bija jādara, bija jāiztīra pārlūkprogrammas kešatmiņu, un CORS pazuda. Es saņēmu CORS, jo Chrome bija saglabājis PORT numuru kešatmiņā, Serveris pieņemtu tikai localhost:3010, un es darīju localhost:3002, jo kešatmiņā.

Komentāri (0)

Servera pusē ir jāpievieno CORS:

Ja izmantojat nodeJS, tad:

Vispirms jums jāinstalē cors, izmantojot zemāk redzamo komandu :

npm install cors --save

Tagad pievienojiet šādu kodu savai lietotnes sākuma datnei, piemēram, ( app.js vai 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);
Komentāri (7)

Atbildes galvenes parasti tiek iestatītas serverī. Iestatiet 'Access-Control-Allow-Headers' uz 'Content-Type' servera pusē.

Komentāri (3)