Foro

Hola a todos, necesito me corrijan un código que a continuación voy a publicar es acerca del uso del proxy jsonP

0
4Tengo un servicio web hecho con wcf que esta en otro dominio por eso el uso de jsonP y lo que devuelve es lo que a continuación muestro con ese mismo formato y todo.

[{"EventCount":5,"Percentage":9},{"EventCount":7,"Percentage":9},{"EventCount":7,"Percentage":8},{"EventCount":7,"Percentage":7},{"EventCount":8,"Percentage":8},{"EventCount":6,"Percentage":5},{"EventCount":6,"Percentage":5},{"EventCount":7,"Percentage":9},{"EventCount":7,"Percentage":9},{"EventCount":7,"Percentage":8},{"EventCount":8,"Percentage":7},{"EventCount":6,"Percentage":6},{"EventCount":5,"Percentage":7},{"EventCount":5,"Percentage":9},{"EventCount":6,"Percentage":5}]

Ahora este código que viene a continuación es el javascript

Ext.onReady(function(){
    
    //CREAR MODELO
    Ext.define('Node', {
    extend: 'Ext.data.Model',
    fields: ['EventCount','Percentage']
 
});
   
    //CREAR STORE
      var store = new Ext.data.Store({
      model: 'Node',
      fields: ["EventCount", "Percentage"],
      autoLoad: true,
      proxy: {
      type: "jsonp",
      url: "http://localhost:8002/Service/GetLinesControl/blabbla",
      reader: {
      type: "json"
     }
}

});
   store.load();
 });

Siguiendo los pasos de la guía de extjs 4 hice lo anterior y a pesar de cuando debugueo se ve que esta cargando el recurso en realidad cuando se da store.load() el no hace nada, se queda vacío.

Puede ser que cuando se crea el servicio el tipo de datos de lasvariables EventCount y Percentage son enteros y el formato del json da el valor de esas variables sin comillas y a lo mejor por eso da bateo a pesar de que  en js no hay tipos pero bueno puede ser un aopción, también,también pienso que el json que devuelve el web services no tiene una raiz no se si también sea eso.

Bueno agradecería cualquier tipo de ayuda. Saludos Lauren
0
EL problema consiste en que tu servidor no esta regresando la función callback, te explico un poco...

Sucede que cuando haces JSONP siempre mandas una función que se va a ejecutar cuando el servidor te responda, generalmente la llamada es algo como:

http://myserver.com/service.json?callback=processResponse

Ahora bien, El proxy de JSONP se encarga de enviar y manejar eso automáticamente por ti, pero la implementación de tu servidor debe manejarlo también, de lo contrario no va a funcionar.

Tu servidor debe aceptar el parámetro callback o algún otro, y debe regresar una respuesta semejante a esta:

processResponse([{..},{...},{...}])

Eso le permitirá al proxy procesar la información correctamente.

Saludos
Lauren Dedeu: Gracias por la información pero ya resolvi, y lo que paso fue que a el servicio le faltaba una sentencia para que se viera en otros dominios 30/05/2014

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.