Javascript JSON.parse给我一个错误,但是JSONLint说它';这是一个有效的json

Javascript JSON.parse给我一个错误,但是JSONLint说它';这是一个有效的json,javascript,php,mysql,ajax,json,Javascript,Php,Mysql,Ajax,Json,我正试图用jqplot制作一个图形,其中提取了vía mysql ajax的值,我已经阅读了很多关于这方面的信息,我很抱歉,对我来说,提出这个问题有点尴尬。这让我很头疼:( 我花了20天的时间来解决这个问题,但我不能独自一人,任何人都可以帮助我吗?我几乎尝试了所有的方法(json.parse、parsejson、getjson、datatype html、datatype json、method get和post…) 我知道这很容易。。。 为什么在我尝试执行JSON.parse(resultad

我正试图用jqplot制作一个图形,其中提取了vía mysql ajax的值,我已经阅读了很多关于这方面的信息,我很抱歉,对我来说,提出这个问题有点尴尬。这让我很头疼:(

我花了20天的时间来解决这个问题,但我不能独自一人,任何人都可以帮助我吗?我几乎尝试了所有的方法(json.parse、parsejson、getjson、datatype html、datatype json、method get和post…)

我知道这很容易。。。 为什么在我尝试执行JSON.parse(resultado)时崩溃

假设它是一个有效的Json,但当我尝试执行Json.parse时,他给了我一个异常,说:“Json.parse:Json数据第1行第1列的意外字符”)

似乎是[角色

以下是php:

<?php include('conex.php');
$datos=mysql_query("SELECT * FROM Meteorologia");
$arrDatos = array();
while ($rs=mysql_fetch_assoc($datos))
    $arrDatos[] = array_map('utf8_encode', $rs);
echo json_encode($arrDatos);
?>
js是:

try
{
    var strHtml = "";
    $.ajax({
            global: false,
            dataType: "html",
            async: false,
            type: "POST",
            url: $("#form").attr('action'),
            data: $("#form").serialize(),
            success: function(resultado){
                alert('success!!'+resultado);
                console.log(typeof resultado);
                console.log(resultado);
                //var datosRecibidos = JSON.parse(resultado);
                //var datosRecibidos = jQuery.parseJSON(resultado);
                var lista = "";
                $.each( resultado, function( key, value ) {
                        if(value.FECHA == "2015-01-01")
                        {
                            alert('si!!');
                        }
                        else
                        {
                            alert('sino!!');
                        }
                });
            },
            error: function(data){
                alert('Error!!: '+data);
            }
    });
}
catch(ex)
{
    alert("catch!!"+ex);
}

使用$each键值…我可以在数组中移动吗?

在尝试了很多事情之后(更改数据类型json、html、…、方法get、post…)

我正在调试地址文件:///C:/xampp/htdocs/traerdatos/index.html

而不是/traerdatos/index.html

因此,解决方案是将地址更改为LOCALHOST

(感谢改革派帮助我实现他的愿景)


新错误=)

在调用
JSON.parse()
add
console.log(typeof resultado)之前
。我怀疑问题可能是响应已经被解析。好的,如果它说它是一个字符串,接下来要做的是验证它是正确的字符串。您应该能够在浏览器开发人员控制台中看到ajax HTTP事务。使用Firebug,如果响应是有效的JSON,您甚至会看到一个JSON选项卡。这不是p问题是,但是
value.fecha
应该是
value.fecha
。他清楚地设置了数据类型“html”,但总是随机猜测。@Jhawins我无法计算有多少次发布的代码不是实际使用的代码,试图重新解析已经解析的JSON是一个极其常见的错误。
try
{
    var strHtml = "";
    $.ajax({
            global: false,
            dataType: "html",
            async: false,
            type: "POST",
            url: $("#form").attr('action'),
            data: $("#form").serialize(),
            success: function(resultado){
                alert('success!!'+resultado);
                console.log(typeof resultado);
                console.log(resultado);
                //var datosRecibidos = JSON.parse(resultado);
                //var datosRecibidos = jQuery.parseJSON(resultado);
                var lista = "";
                $.each( resultado, function( key, value ) {
                        if(value.FECHA == "2015-01-01")
                        {
                            alert('si!!');
                        }
                        else
                        {
                            alert('sino!!');
                        }
                });
            },
            error: function(data){
                alert('Error!!: '+data);
            }
    });
}
catch(ex)
{
    alert("catch!!"+ex);
}