Ahora estoy intentando hacer un desafío de generador de citas aleatorias desde freecodecamp. Sin embargo, he tenido muchos problemas para obtener las citas del sitio
http://api.forismatic.com debido a CORS ... luego me topé con la solución de alguien pero no entiendo por qué él ha incluido una consulta jsonp=?
Al final de la url.
Creó:
// Random Quote Generator
var url = "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?";
Sigo todo excepto el jsonp=?
al final ... Sé que tiene que haber una devolución de llamada y traté de reemplazarla con callback=?
pero luego consiguió un error:
"Refuse to execute script from (data resource) because its MIME type ("text/html") is not executable, and strict MIME type checking is enabled."
Respuestas
0 para la respuesta № 1Por los documentos en http://forismatic.com/en/api/:
jsonp = <string> - Nombre de la función de devolución de llamada, utilizado solo para el formato jsonp
Así que solo tienen una jsonp
param donde exactamente lo mismo usan otras APIs callback
.
Y asi dado method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?
, un literal "?
"es lo que devolverá la API como el nombre de la función de devolución de llamada:
$ curl "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?"
?({"quoteText":"I have done my best: that is about all the philosophy of living one needs.","quoteAuthor":"Lin-yutang","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/475d78775d/"})
En otras palabras, no hay nada mágico en el nombre del parámetro "callback
": No hay ninguna norma que obligue a usar ese nombre de parámetro, por lo que cualquier proveedor de API puede elegir usar el nombre que desee, como lo elige forismatic.com para su API.