¿Ajax solicita datos json de dominio cruzado y muestra?

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í?

preguntado el 03 de mayo de 12 a las 11:05

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? -

No hay razón para rechazar esto: es una pregunta legítima. -

@Matt, ¿tal vez el inglés no es su primer idioma? -

¿Cómo sabes que no se devuelven errores? ¿Por qué no tienes un controlador de errores? ¿Espera usar CORS o JSONP para esto? -

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?) -

1 Respuestas

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 or haz tu propia pregunta.