Me he encontrado con este error que me dice que hay un testigo inesperado C apuntando a mi archivo de Jquery. Después de mucho investigar, he de asumir que la razón por la que estoy recibiendo este error es debido a que el Json valor pasa es que ya decodificado y por lo tanto la decodificación de nuevo, no se producirá este error.

Es esta afirmación verdadera ? o hay otra razón detrás ?
Esto es lo que mis datos json parece [{«comentario»:»Greta»},{«comentario»:»Juan»}]

<a onclick="showUser('.$row['ID'].')" >Show Comments</a>

<script>
function showUser(str) {
      if (str=="") {
        document.getElementById("txtHint").innerHTML="";
        return;
      } 
      $.ajax({
          type:'post',
          url: 'viewCommentsJson.php',
          data:{q:str},
          success:function(data)
          {
              data = $.parseJSON(data);
              var response;
              $.each(data, function(index, value){
                   response += value+'<br />';
              });
              $('#txtHint').html(response);
          }
      });
}
</script>
  • Json valor pasa es que ya decodificado y por lo tanto la decodificación de nuevo, no se producirá este error. Sí, es verdad Vea el error de la consola de jsfiddle.net/satpalsingh/j65Ce
  • Desde el jQuery documentación acerca de .ajax() (en referencia a la dataType parámetro: «El tipo de datos que se está esperando de nuevo desde el servidor. Si no se especifica ninguno, jQuery tratará de inferir basado en el tipo MIME de la respuesta (un XML tipo MIME producirá XML, en 1.4 JSON producirá un objeto de JavaScript, en 1.4 secuencia de comandos se ejecuta el script, y cualquier otra cosa será devuelto como una cadena). «…
InformationsquelleAutor user2691544 | 2014-05-20

2 Comentarios

  1. 3

    La razón es que, usted está tratando de analizar la respuesta que ya está en formato json.

    $.parseJSON método debe aplicarse en string tipo. Desde su respuesta del servidor es json, usted no tiene que analizar de nuevo.

    Cambiar su código como este,

    $.ajax({
        type: 'post',
        url: 'viewCommentsJson.php',
        data: {
            q: str
        },
        success: function (data) {
            var response = "";
            $.each(data, function (index, value) {
                response += value.comments + '<br />';
            });
            $('#txtHint').html(response);
        }
    });
    • así que está usted sugerencia de que me retire de datos = $.parseJSON(datos); `completamente y dejar el resto como por normal ?
    • sí. Ver la edición
    • Haciendo que voy a tener este Uncaught TypeError: Cannot use 'in' operator to search for '74' in Connected to MySQL<br>[{"comments":"ashdhasasbsd"},{"comments":"sdds"}]
    • En la línea que tengo el error?
    • no hay una línea específica. Se está apuntando a mi jquery-1.9.0.js:945
    • Puede que alerta de que los datos en que tengamos éxito. Y ver lo que es voming de servidor

  2. 1

    Este es presumible porque la respuesta es «error de Conexión …» y usted está tratando de analizar la base de datos de salida a JSON, cuando se ha rechazado la conexión.

    Esto provocaría que la C se analiza y se lanzará un «testigo Inesperado C» de error.

    Comprobar su ‘red’ pestaña del inspector y buscar el .PHP script SQL. Al menos en el inspector de chrome se puede obtener la respuesta y ver al tipo de respuesta que está recibiendo.

Dejar respuesta

Please enter your comment!
Please enter your name here