Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery JSON中的语法错误(即使它在FF中工作-我认为)_Jquery_Json_Ajax - Fatal编程技术网

Jquery JSON中的语法错误(即使它在FF中工作-我认为)

Jquery JSON中的语法错误(即使它在FF中工作-我认为),jquery,json,ajax,Jquery,Json,Ajax,标准免责声明,我不太擅长JS/前端的东西,所以我可能在做一些愚蠢的事情。我已经很长时间没有使用AJAX了。 好的,我正在为我正在开发的一个内部站点充实一些初始ajax。我大部分时间都在FF中测试,看起来还可以,但当我在任何其他(真实的)浏览器中尝试时,都会出现语法错误。这是在Slim框架中完成的,并使用TWIG作为视图 $("#id").on('change', function(){ var v = $('#id option:selected').val(); $.a

标准免责声明,我不太擅长JS/前端的东西,所以我可能在做一些愚蠢的事情。我已经很长时间没有使用AJAX了。 好的,我正在为我正在开发的一个内部站点充实一些初始ajax。我大部分时间都在FF中测试,看起来还可以,但当我在任何其他(真实的)浏览器中尝试时,都会出现语法错误。这是在Slim框架中完成的,并使用TWIG作为视图

$("#id").on('change', function(){   
    var v = $('#id option:selected').val();

    $.ajax({
        url: "{{ path_for('inventory.ajax') }}", 
        data: {
            id: v
        },
        type: "POST",
        dataType : "json",
    })

    .done(function( result ) {
        $.each(result,function(key, val){ 
            var newA = JSON.stringify(val.property.property);

            $(".ajax").append(JSON.parse(newA) + ", ");
        });
    })


    .fail(function( xhr, status, errorThrown ) {
       alert( errorThrown );
       console.log( "Error: " + errorThrown );
       console.log( "Status: " + status );
       console.dir( xhr );
    })
});
我的PHP代码很简单:

public function ajax_getProps($request, $response) {
    $id = $request->getParam('id');

    $propertiesList = $this->c->helpers->getPropertyList($id);

    echo json_encode($propertiesList);
}
现在就像我说的,在FF中它是有效的,尽管我有一个不同的问题,为什么我必须字符串化然后解析一些东西来输出它。 当我在Chrome或Edge中运行它时,我得到了以下信息: 语法错误:JSON中位置0处出现意外标记<。 我读过,这通常意味着当HTML需要纯JSON时返回HTML,但我没有。是吗? 错误似乎指向以下行:

console.log( "Error: " + errorThrown );
如果我把它和下面的注释掉,我仍然会在警报中得到错误消息,但它不会显示在控制台中

我从dev工具中检索到了JSON,并在JSONLint中进行了测试,结果表明它是有效的

谁能告诉我这里发生了什么事吗?


我知道我在做什么蠢事。我没有在其他浏览器上登录,这是一个对受保护路由进行ajax调用的过程,但是发起调用的主页没有…。

向我们展示一些您的数据,也许只是json的示例?请尝试不解析该值