Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

399
Views
API de Google Place: no hay ningún encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. Por lo tanto, no se permite el acceso al origen 'null'

Estoy usando la API de Google Place.

Lo que quiero obtener sugerencia de lugar para ayudar a escribir.

Entonces, lo que he hecho es-

 var Google_Places_API_KEY = "AIzaSyAK08OEC-B2kSyWfSdeCzdIkVnT44bcBwM"; //Get it from - https://code.google.com/apis/console/?noredirect#project:647731786600:access var language = "en"; //'en' for English, 'nl' for Nederland's Language var Auto_Complete_Link = "https://maps.googleapis.com/maps/api/place/autocomplete/json?key="+Google_Places_API_KEY+"&types=geocode&language="+language+"&input=Khu"; $.getJSON(Auto_Complete_Link , function(result) { $.each(result, function(i, field) { //$("div").append(field + " "); //alert(i + "=="+ field); console.error(i + "=="+ field); }); });

Entonces, en qué enlace estoy solicitando es:

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=AIzaSyAK08OEC-B2kSyWfSdeCzdIkVnT44bcBwM&types=geocode&language=en&input=Khu

Y si voy a este enlace con el navegador, puedo obtener un resultado como este (intente comprobarlo)-

11

Pero si pruebo con .getJSON o .ajax de jQuery, mi solicitud se bloquea con este mensaje:

222 .

Entonces, XMLHTTPRequest está bloqueado debido a:

No hay ningún encabezado 'Access-Control-Allow-Origin' en el recurso solicitado. Por lo tanto, no se permite el acceso al origen 'null'.

Revisé StackOverflow para la solución de este problema y revisé aquí y aquí , pero no puedo obtener mi solución perfectamente.

¿Puede alguien por favor iluminarme?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Lo hice funcionar después de encontrar la respuesta de @sideshowbarker aquí:

No hay un encabezado 'Access-Control-Allow-Origin' en el recurso solicitado, al intentar obtener datos de una API REST

Y luego usé este enfoque para que funcionara:

 const proxyurl = "https://cors-anywhere.herokuapp.com/"; const url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=${latitude},${longitude}&radius=500&key=[API KEY]"; // site that doesn't send Access-Control-* fetch(proxyurl + url) // https://cors-anywhere.herokuapp.com/https://example.com .then(response => response.json()) .then(contents => console.log(contents)) .catch(() => console.log("Can't access " + url + " response. Blocked by browser?"))

Se puede encontrar más información en la respuesta en el enlace de arriba.

over 4 years ago · Santiago Trujillo Report

0

Las solicitudes AJAX solo son posibles si el puerto, el protocolo y el dominio del remitente y el receptor son iguales; de lo contrario, podrían conducir a CORS. CORS significa Intercambio de recursos de origen cruzado y debe admitirse en el lado del servidor.

Solución

JSONP

JSONP o "JSON con relleno" es una técnica de comunicación utilizada en programas JavaScript que se ejecutan en navegadores web para solicitar datos de un servidor en un dominio diferente, algo prohibido por los navegadores web típicos debido a la política del mismo origen.

Algo como esto podría ayudarte compañero.. :)

 $.ajax({ url: Auto_Complete_Link, type: "GET", dataType: 'jsonp', cache: false, success: function(response){ alert(response); } });
over 4 years ago · Santiago Trujillo Report

0

Google proporciona la biblioteca del cliente API:

 <script src="https://apis.google.com/js/api.js" type="text/javascript"></script>

Puede hacer solicitudes de API de Google por usted, dada la ruta y los parámetros de la API:

 var restRequest = gapi.client.request({ 'path': 'https://people.googleapis.com/v1/people/me/connections', 'params': {'sortOrder': 'LAST_NAME_ASCENDING'} });

Dado que la biblioteca se sirve desde el dominio de Google, puede llamar de forma segura a las API de Google sin problemas de CORS.

Documentos de Google sobre cómo usar CORS.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!