2012-06-13 23 views
5

Aquí está mi lado del cliente código de jQuery:jQuery no parece para analizar JSON automáticamente

$.ajaxSetup ({ 
    contentType: "application/json", 
    datatype: 'json' 
}); 

$.ajax({ 
    type: "POST", 
    url: "http://localhost:1234/path", 
    data: JSON.stringify(myData), 
    success: function(aString){ 
     alert(aString); 
    }, 
    error: function(errorData){ 
     alert(errorData); 
    } 
}); 

Estos son los datos que el servidor envía:

200 
Content-Type: application/json 

"aStringsData" 

En la alerta las citas de " aStringData "se muestran. Sin embargo, espero que las citas se eliminen debido a la JSON.parse automática que espero que pase de datatype: 'json'. ¿Estoy equivocado en esto?

+2

JavaScript es sensible a mayúsculas. 'dataType! == datatype'. – Matt

+0

Muchas gracias, probablemente no me hubiera enterado en algún momento. – hansi

Respuesta

5

El parámetro es en realidad dataType, no datatype (JavaScript distingue entre mayúsculas y minúsculas).

Usted puede tratar con:

dataType: 'json' // not datatype 

dentro de su ajaxSetup;

+0

@Matt gracias Señor – thecodeparadox

+0

¡Gracias, resolvió el problema! – hansi

+0

@hansi De nada, me complace ayudar – thecodeparadox

0

Su respuesta:

"aStringsData" 

no es válido JSON Creo, como JSON supone comenzar con una {, ¿no ?.

Se podría decir

{ 
"string": "data" 
} 
+0

Incorrecto. Una secuencia en sí misma es * perfectamente * válida JSON. http://json.org – Matt

+0

Bueno, puede ser un objeto o una lista de cosas (como una cadena), pero no una cadena en sí misma, ¿o sí? (por supuesto, puedo estar equivocado, pero los primeros 3 validadores probé lo mismo para decir lo mismo) – Nanne

+0

@matt: la página json que vincula tiene 2 puntos de bolígrafo: dicen que es un objeto o una lista. Hay una definición de "valor" más adelante, claro, pero no dice que solo el valor sea JSON válido mientras lo leo. – Nanne

-1

se puede tratar de usar algo como esto:

eval(aString) 
+0

Esto no viene * cerca * de responder la pregunta. La pregunta es: * por qué * el JSON no se analiza automáticamente, no cómo hacerlo. – Matt

Cuestiones relacionadas