Estoy tratando de obtener datos del servidor usando JSONP con el método ajax de jQuery."(Método de devolución de llamada) no está definido" en el acceso JSONP en el complemento de Firefox
$.ajax({
dataType: "jsonp",
url: "https://secure.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json",
type: "GET",
data: "msg=aaa",
cache: true,
jsonp: "jsoncallback",
// jsonpCallback: "callbackmethod",
success: function(encryptedMsg){
console.log("Encryption success!");
},
error: function(req, errmsg, thrownError) {
console.log("Error: HTTP " + req.status + " " + errmsg);
}
});
Sin embargo, se muestra siguiente error en la consola de error:
Error: jQuery1720502636097747291_1339479763752 is not defined
Source File: https://secure.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=jQuery1720502636097747291_1339479763752&msg=aaa
Line: 1
Si abre la URL del archivo fuente, se puede ver la siguiente JSON, y parece JSON correcta.
jQuery1720502636097747291_1339479763752({
"title": "Recent Uploads tagged cat",
// ...
"items": [
{
"title": "Chaton",
// ...
},
// ...
]
})
También probé para especificar el nombre del método con jsonpCallback: "callbackmethod", pero no funcionó. También usé el método $ .getJson() y jquery-jsonp (http://code.google.com/p/jquery-jsonp/) pero el resultado fue el mismo.
El navegador es Firefox y usa HTML4. Esto se usa en un complemento de Firefox.
Puede leer el código completo aquí: https://builder.addons.mozilla.org/addon/1048275/revision/749
utilizo $ .ajax en función getEncryptedMessage en común: content.js
Gracias de antemano.
Entonces, ¿lo intentó sin especificar la devolución de llamada jsonp? jQuery debería manejar eso por ti. – alexn
Sí, lo he intentado. Traté de acceder a flickr en este código y tengo que especificarlo, pero en realidad quiero acceder a mi propia aplicación web. Intenté acceder sin especificar "jsonp:" cuando utilicé mi propia aplicación de servidor. –