Hola a todos, necesito me corrijan un código que a continuación voy a publicar es acerca del uso del proxy jsonP
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.
Ahora este código que viene a continuación es el javascript
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
[{"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
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:
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:
Eso le permitirá al proxy procesar la información correctamente.
Saludos
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
¿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.