Usando jquery ajax como este

$.ajax({
url: 'mydata.json',
type: 'get',
error: function(data){
},
success: function(data){
  data=jQuery.parseJSON(data);
  //do something with data              
    }
});

Es el trabajo perfecto, excepto cuando me implementarlo en el servidor con una dirección url del servidor que genera internamente la respuesta json objeto y volver. luego, no necesito jQuery.parseJSON(datos). Hay una manera donde puedo usar el local de archivo json y obtener respuesta como objeto json?

InformationsquelleAutor bin2k | 2011-05-26

4 Comentarios

  1. 3
    $.ajax({
    url: 'mydata.json',
    type: 'get',
    dataType: 'json',
    error: function(data){
    },
    success: function(data){
      //do something with data              
        }
    });

    Especificando dataType: 'json' dice jQuery esperar de datos JSON y automáticamente analizarlo.

  2. 0

    Yo recomendaría la comprobación para ver si los datos que se devuelven ya se ha convertido en un objeto JSON. Si es así, entonces no hay ninguna razón para analizarlo.

        $.ajax({ 
          url: 'mydata.json', 
          type: 'get', 
          error: function(data){ }, 
          success: function(data){ 
            console.log(data); //check to see if jQuery has already converted the response to a JSON object
            //data=jQuery.parseJSON(data); //do something with data
          }
        });
  3. 0

    Es un problema conocido que success() de devolución de llamada no fuego en el local de jQuery.ajax. Uso complete() lugar si usted tiene la intención de ejecutar la secuencia de comandos a nivel local. También debido a este problema, usted no debe usar jQuery.getJSON para el trabajo (debido a que la función sólo se activará cuando el éxito.)

  4. 0
    $.getJSON('mydata.json').done(function(response) {
        console.log("Success");
    }).fail(function() {
        console.log("Error");
    });

Dejar respuesta

Please enter your comment!
Please enter your name here