He llamado a la API de terceros utilizando Jquery AJAX. Estoy recibiendo el siguiente error en la consola:
Cross-Origin Read Blocking (CORB) bloqueó la respuesta de origen cruzado MY URL con el tipo MIME application/json. Consulte https://www.chromestatus.com/feature/5629709824032768 para obtener más detalles.
He utilizado el siguiente código para la llamada Ajax :
$.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....=================");
}
});
Cuando he comprobado en Fiddler, he obtenido los datos en la respuesta pero no en el método de éxito Ajax.
Por favor, ayúdame.
En la mayoría de los casos, la respuesta bloqueada no debería afectar al comportamiento de la página web y el mensaje de error CORB puede ser ignorado con seguridad. Por ejemplo, la advertencia puede producirse en casos en los que el cuerpo de la respuesta bloqueada ya estaba vacío, o cuando la respuesta iba a entregarse a un contexto que no puede manejarla (por ejemplo, un documento HTML como una página de error 404 que se entrega a una etiqueta ).
https://www.chromium.org/Home/chromium-security/corb-for-developers
Tuve que limpiar la caché de mi navegador's, estaba leyendo en este enlace, que, si la solicitud obtener una respuesta vacía, obtenemos este error de advertencia. Estaba recibiendo CORS en mi solicitud, y por lo tanto la respuesta de esta solicitud quedó vacía, Todo lo que tenía que hacer era limpiar la caché del navegador, y el CORS se fue. Estaba recibiendo CORS porque el chrome había guardado el número de PORT en la caché, El servidor sólo aceptaba localhost:3010
y yo estaba haciendo localhost:3002
, debido a la caché.
Tienes que añadir CORS en el lado del servidor:
Si estás usando nodeJS entonces:
En primer lugar usted necesita instalar cors
utilizando el siguiente comando :
npm install cors --save
Ahora añade el siguiente código a tu archivo de inicio de la aplicación como ( app.js o 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);
Las cabeceras de respuesta se establecen generalmente en el servidor. Establezca 'Access-Control-Allow-Headers'a
'Content-Type'en el lado del servidor.