¿Ajax solicita datos json de dominio cruzado y muestra?
Frecuentes
Visto 671 equipos
1
Tengo una función para obtener datos JSON de otro dominio, pero no sé qué tiene de malo. Nunca activa la función de éxito y no se devuelven errores.
$.ajax({
url: "http://other-domain.com/sample/Json.aspx",
dataType: "jsonp",
type: 'get',
crossDomain: true,
jsonp: 'jsonp_callback',
success: function() {
alert('abc'); //when success take json data string but i din get in here
}
});
¿Alguien sabe lo que está mal aquí?
1 Respuestas
1
Tratar:
$.get('http://other-domain.com/sample/Json.aspx', function(data) {
alert(data);
});
Debería recibir una alerta con una cadena json (que en realidad es una cadena), luego use jQuery.parseJSON(data)
en él y obtendrá un objeto JSON para trabajar.
Si esto no funciona, tal vez necesite verificar sus parámetros de obtención.
Edit:
Acabo de intentar configurar esta página ahora mismo:
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?',function(data){
alert(data.title);
});
});
</script>
</head>
<body>
... WHATEVER ...
</body>
y funciona bien, está alertando al primer elemento de título en el objeto de datos.
contestado el 03 de mayo de 12 a las 12:05
Una solicitud JSON-P no debería proporcionarle una cadena JSON. Debería darte un objeto JavaScript. ¿Por qué el uso de esta sintaxis debería dar resultados diferentes a los directos? $.ajax
¿llamada? - Quentin
No estoy diciendo que funcionará mejor, él dice que necesita obtener algunas cosas de JSON, también puede probar $.getJSON(). Es más simple y con menos cosas para configurar. - Onheiron
$.getJSON() tiene una forma de obtener datos de dominio cruzado, pero está usando el método YQL. Eso es totalmente confuso. - user983738
Usé $.getJSON en la universidad y funciona con seguridad en varios dominios... Recuerdo que tuve que agregar "&format=json&jsoncallback=?" en la URL de obtención para que funcione docs.jquery.com/Getjson - Onheiron
Sí, lo intenté, pero no pude solicitar la URL. Estoy seguro de que mi URL es correcta. - user983738
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery or haz tu propia pregunta.
Las preguntas deben hacerse usando oraciones coherentes que contengan palabras completas y mayúsculas... ¿Qué te hace pensar que vamos a responder una pregunta que no te molestaste en escribir más de 5 segundos? - Matt
No hay razón para rechazar esto: es una pregunta legítima. - Rory McCrossan
@Matt, ¿tal vez el inglés no es su primer idioma? - Rory McCrossan
¿Cómo sabes que no se devuelven errores? ¿Por qué no tienes un controlador de errores? ¿Espera usar CORS o JSONP para esto? - Quentin
Su secuencia de comandos no genera JSON-P. Está redirigiendo a través de una página sospechosa de cuenta y derrochando una página de publicidad en HTML. (¿O quisiste usar
example.com
?) - Quentin