Estoy tratando de crear un jquery grid que obtiene los datos de un archivo json.lo está haciendo bien en Firefox. pero no funciona en Google chrome
estoy haciendo esto desde
trirand ejemplos

estoy dando el código para obtener los datos json

jQuery("#rowed2").jqGrid({
    url:'datagrid_data.json',
    datatype: "json",
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    colModel:[
        {name:'id',index:'id', width:55},
        {name:'invdate',index:'invdate', width:90},
        {name:'name',index:'name asc, invdate', width:100},
        {name:'amount',index:'amount', width:80, align:"right"},
        {name:'tax',index:'tax', width:80, align:"right"},      
        {name:'total',index:'total', width:80,align:"right"},       
        {name:'note',index:'note', width:150, sortable:false}       
    ],
    rowNum:10,
    rowList:[10,20,30],
    pager: '#prowed2',
    sortname: 'id',
    viewrecords: true,
    sortorder: "desc",
    caption:"JSON Example"
});
jQuery("#rowed2").jqGrid('navGrid','#prowed2',{edit:false,add:false,del:false});
InformationsquelleAutor ess | 2014-01-24

2 Comentarios

  1. 1

    Si he entendido bien tu problema: no se puede acceder a la local archivos por peticiones Ajax en Google Chrome. Es por diseño, por lo. Si necesita cambiar el comportamiento que usted tiene que comenzar Chrome.exe con el parámetro adicional --allow-file-access-from-files (el ‘-‘ debe ser escrito dos veces):

    Chrome.exe --allow-file-access-from-files

    Es importante que usted tiene que cerrar todas las instancias de ejecución de Chrome.exe antes de. Durante este tipo a partir de la función de seguridad, que no te gusta, se apaga y usted será capaz de acceder a los archivos locales por Ajax.

    La lista de opciones de Chrome.exe se describe aquí (ver aquí demasiado).

  2. 0

    De Control de acceso de Origen encabezados de conjunto y de lectura para el control de acceso a los datos en los navegadores a través de dominios. Se trata de un problema de seguridad.

    Aquí no se puede acceder a JSON desde un dominio distinto al de la secuencia de comandos se ejecuta sin un CORS (Origen de la Cruz de Solicitud de Intercambio) encabezado.

    Hay maneras de evitar esta restricción.

    Más común es para habilitar el Control de Acceso de Origen encabezados en el lado del servidor. Esta configuración del servidor indica a los navegadores que está bien para el uso de los datos en JSON libremente, generalmente porque no es sensible. http://enable-cors.org/

    Otro método común alrededor de CORS es pasar yoru datos en formato JSONP. Este es otro servidor de corrección del lado que se ajusta a los datos JSON en una función a ejecutar en el lado del cliente. ¿Qué es JSONP de todo?

    • gracias @Patrick Gunderson. no estoy ejecutando este archivo en un servidor. estoy usando html estático y jquery (ej: trirand.com/blog/jqgrid/jqgrid.html#) . Funciona bien en firefox. pero no funciona en chrome
    • Está usted accediendo al archivo a través de file://? Eso explicaría por qué FF y chrome se comportan de manera diferente. Una vez que respeta CORS en los archivos locales y el otro no
    • ys…puedo acceder al archivo a través de file:///
    • Apuesto a que si pones el archivo en un servidor (incluso uno local) sería rechazado por ambas FF y Chrome

Dejar respuesta

Please enter your comment!
Please enter your name here